private void start(Callback callback, JavaFileObject... sources) {
for (JavaFileObject java : sources) {
compiler.addSource(java);
}
if (sources.length == 0) {
compiler.addSource(new VolatileJavaFile("A", "public class A {}"));
}
compiler.addProcessor(new DelegateProcessor(callback));
List<Diagnostic<? extends JavaFileObject>> diagnostics = compiler.doCompile();
for (Diagnostic<?> d : diagnostics) {
if (d.getKind() == Diagnostic.Kind.ERROR) {