public AnnotationVisitor newAnnotationVisitor(BindingContext context) {
if (context.getClassNode() != null) {
return new TypeGenericVisitor(context.getWorkbench(),
Elements.buildElement(type));
} else if (context.getFieldNode() != null) {
return new FieldGenericVisitor(context.getWorkbench(),
Elements.buildElement(type),
context.getFieldNode());
} else if ((context.getMethodNode() != null) &&
(context.getParameterIndex() == BindingContext.NO_INDEX)) {