question: protected Map < TargetClass , List < Attribute . TypeCompound > > sift ( final Iterable < Attribute . TypeCompound > typeCompounds ) { final Map < TargetClass , List < Attribute . TypeCompound > > targetClassToCompound = new EnumMap < > ( TargetClass . class ) ; for ( TargetClass targetClass : TargetClass . values ( ) ) { targetClassToCompound . put ( targetClass , new ArrayList < TypeCompound > ( ) ) ; } for ( final Attribute . TypeCompound typeCompound : typeCompounds ) { final TargetType typeCompoundTarget = typeCompound . position . type ; final List < Attribute . TypeCompound > destList ; if ( ElementAnnotationUtil . contains ( typeCompoundTarget , annotatedTargets ( ) ) ) { destList = targetClassToCompound . get ( TargetClass . TARGETED ) ; } else if ( ElementAnnotationUtil . contains ( typeCompoundTarget , validTargets ( ) ) ) { destList = targetClassToCompound . get ( TargetClass . VALID ) ; } else { destList = targetClassToCompound . get ( TargetClass . INVALID ) ; } destList . add ( typeCompound ) ; } return targetClassToCompound ; }
target:  Separate the input annotations into a Map of TargetClass (TARGETED, VALID, INVALID) to the annotations that fall into each of those categories.