@ SuppressWarnings ( { "rawtypes" , "unchecked" } ) // Using correct types, but wildcards fail to see that. private void processType ( final Object component , final Context context , final ContextDestroyer contextDestroyer ) { final com . badlogic . gdx . utils . reflect . Annotation [ ] annotations = getAnnotations ( component . getClass ( ) ) ; if ( annotations == null || annotations . length == 0 ) { return ; } for ( final com . badlogic . gdx . utils . reflect . Annotation annotation : annotations ) { if ( typeProcessors . containsKey ( annotation . getAnnotationType ( ) ) ) { final Array < AnnotationProcessor < ? > > typeProcessorsForAnnotation = typeProcessors . get ( annotation . getAnnotationType ( ) ) ; // This might get resized in the process, so we're not using an iterator or assigning size. for ( int index = 0 ; index < typeProcessorsForAnnotation . size ; index ++ ) { final AnnotationProcessor processor = typeProcessorsForAnnotation . get ( index ) ; processor . processType ( component . getClass ( ) , annotation . getAnnotation ( annotation . getAnnotationType ( ) ) , component , context , this , contextDestroyer ) ; } } } }
Processes components class annotations .