// search for providers
final Map<String, AnnotationProcessor> processorMap = new HashMap<String, AnnotationProcessor>();
final Iterator<AnnotationProcessor> serviceIter = ServiceRegistry.lookupProviders(AnnotationProcessor.class, classLoader);
while ( serviceIter.hasNext() ) {
final AnnotationProcessor processor = serviceIter.next();
// check if this processor is already loaded
final String key = processor.getClass().getName();
if ( !processorMap.containsKey(key) ) {
processorMap.put(key, processor);
}
}