added AnnotationProcessor generic interface