@Override
public Invokable invoke(Invokation invokation, Object... parameters) {
String packageName = parameters[0].toString();
String simpleName = parameters[1].toString();
Element originatingElement = (Element) parameters[2];
Invokable body = (Invokable) parameters[3];
ResourceKey key = new ResourceKey(packageName, simpleName, Delegates.unwrap(originatingElement));
SourceFile javaFile = getFiles().sourceFiles.get(key);
body.invoke(new Invokation(javaFile.consumer));
javaFile.complete();
return null;
}
};