private Iterator<Processor> handleServiceLoaderUnavailability(String key,Exception e){
  JavaFileManager fileManager=context.get(JavaFileManager.class);
  if (fileManager instanceof JavacFileManager) {
    StandardJavaFileManager standardFileManager=(JavacFileManager)fileManager;
    Iterable<? extends File> workingPath=fileManager.hasLocation(ANNOTATION_PROCESSOR_PATH) ? standardFileManager.getLocation(ANNOTATION_PROCESSOR_PATH) : standardFileManager.getLocation(CLASS_PATH);
    if (needClassLoader(options.get(PROCESSOR),workingPath))     handleException(key,e);
  }
 else {
    handleException(key,e);
  }
  java.util.List<Processor> pl=Collections.emptyList();
  return pl.iterator();
}

private Iterator < Processor > handleServiceLoaderUnavailability ( String key , Exception e ) { JavaFileManager fileManager = context . get ( JavaFileManager . class ) ; if ( fileManager instanceof JavacFileManager ) { StandardJavaFileManager standardFileManager = ( JavacFileManager ) fileManager ; Iterable < ? extends File > workingPath = fileManager . hasLocation ( ANNOTATION_PROCESSOR_PATH ) ? standardFileManager . getLocation ( ANNOTATION_PROCESSOR_PATH ) : standardFileManager . getLocation ( CLASS_PATH ) ; if ( needClassLoader ( options . get ( PROCESSOR ) , workingPath ) ) handleException ( key , e ) ; } else { handleException ( key , e ) ; } java . util . List < Processor > pl = Collections . emptyList ( ) ; return pl . iterator ( ) ; }
returns an empty processor iterator if no processors are on the relevant path , otherwise if processors are present , logs an error . called when a service loader is unavailable for some reason , either because a service loader class cannot be found or because a security policy prevents class loaders from being created .
