src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleHandler.java
private static Map<String, ModuleInformation> loadLocallyAvailableModuleInformation(ProgressMonitor monitor) {
        if (monitor == null) {
            monitor = NullProgressMonitor.INSTANCE;
        }
        try {
            ReadLocalModuleInformationTask task = new ReadLocalModuleInformationTask(monitor);
            ExecutorService service = Executors.newSingleThreadExecutor();
            Future<?> future = service.submit(task);
            try {
                future.get();
            } catch (ExecutionException | InterruptedException e) {
                Logging.error(e);
                return null;
            }
            HashMap<String, ModuleInformation> ret = new HashMap<>();
            for (ModuleInformation pi: task.getAvailableModules()) {
                ret.put(pi.name, pi);
            }
            return ret;
        } finally {
            monitor.finishTask();
        }
    }
/**
     * Loads locally available module information from local module jars and from cached
     * module lists.
     *
     * @param monitor the progress monitor. Defaults to {@link NullProgressMonitor#INSTANCE} if null.
     * @return the list of locally available module information
     *
     */
Loads locally available module information from local module jars and from cached
module lists.

@param monitor the progress monitor. Defaults to  NullProgressMonitor#INSTANCE if null.
@return the list of locally available module information
Loads locally available module information from local module jars and from cached module lists . @param monitor the progress monitor . Defaults to NullProgressMonitor#INSTANCE if null . @return the list of locally available module information
private static Map<String, ModuleInformation> loadLocallyAvailableModuleInformation(ProgressMonitor monitor) {
        if (monitor == null) {
            monitor = NullProgressMonitor.INSTANCE;
        }
        try {
            ReadLocalModuleInformationTask task = new ReadLocalModuleInformationTask(monitor);
            ExecutorService service = Executors.newSingleThreadExecutor();
            Future<?> future = service.submit(task);
            try {
                future.get();
            } catch (ExecutionException | InterruptedException e) {
                Logging.error(e);
                return null;
            }
            HashMap<String, ModuleInformation> ret = new HashMap<>();
            for (ModuleInformation pi: task.getAvailableModules()) {
                ret.put(pi.name, pi);
            }
            return ret;
        } finally {
            monitor.finishTask();
        }
    }
private static Map < String , ModuleInformation > loadLocallyAvailableModuleInformation ( ProgressMonitor monitor ) { if ( monitor == null ) { monitor = NullProgressMonitor . INSTANCE ; } try { ReadLocalModuleInformationTask task = new ReadLocalModuleInformationTask ( monitor ) ; ExecutorService service = Executors . newSingleThreadExecutor ( ) ; Future < ? > future = service . submit ( task ) ; try { future . get ( ) ; } catch ( ExecutionException | InterruptedException e ) { Logging . error ( e ) ; return null ; } HashMap < String , ModuleInformation > ret = new HashMap < > ( ) ; for ( ModuleInformation pi : task . getAvailableModules ( ) ) { ret . put ( pi . name , pi ) ; } return ret ; } finally { monitor . finishTask ( ) ; } }
Loads locally available module information from local module jars and from cached
 module lists.
Loads locally available module information from local module jars and from cached module lists .