compiler.with(new MainProcessor() {
@Override
protected void doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
if (count.getAndIncrement() == 0) {
ElementHandle.Field index = ElementHandle.Field.create("plugin.template.completion.A", "index");
VariableElement indexElt = index.get(processingEnv);
AnnotationMirror pathAnn = indexElt.getAnnotationMirrors().get(0);
TypeElement annotationTypeElement = (TypeElement)pathAnn.getAnnotationType().asElement();
ExecutableElement value = (ExecutableElement)annotationTypeElement.getEnclosedElements().get(0);
for (Completion completion : getCompletions(indexElt, pathAnn, value, test[0])) {
completions.add(completion.getValue());
}