static void populateWithProvidableFields(InjectableDataExtractor extractor, Class<?> targetClazz, List<ProvidableField> providableFields ) { for ( final Field field : targetClazz.getDeclaredFields() ) { final Collection<Class<? extends Annotation>> qualifiers = extractQualifiersAvoidingNPEWhenCreatingQualifierExtractorFrom( extractor, field ); if ( extractor.isAManyElementsProvider( field ) ) providableFields.add( ManyElementsProvidableField.from( qualifiers, field ) ); else if ( extractor.isASingleElementProvider( field ) ) providableFields.add( SingleElementProvidableField.from( qualifiers, field ) ); } }