public static void processFiles( final PMDConfiguration configuration, final RuleSetFactory ruleSetFactory, final List<DataSource> files, final RuleContext ctx, final List<Renderer> renderers) { sortFiles(configuration, files); /* * Check if multithreaded support is available. ExecutorService can also be * disabled if threadCount is not positive, e.g. using the "-threads 0" * command line option. */ if (SystemUtils.MT_SUPPORTED && configuration.getThreads() > 0) { new MultiThreadProcessor(configuration).processFiles(ruleSetFactory, files, ctx, renderers); } else { new MonoThreadProcessor(configuration).processFiles(ruleSetFactory, files, ctx, renderers); } }