void (@NotNull List<Tools> outGlobalTools, @NotNull List<Tools> outLocalTools, @NotNull List<? super Tools> outGlobalSimpleTools) { List<Tools> usedTools = getUsedTools(); Map<String, Tools> tools = new HashMap<>(usedTools.size()); for (Tools currentTools : usedTools) { String shortName = currentTools.getShortName(); tools.put(shortName, currentTools); InspectionToolWrapper<?,?> toolWrapper = currentTools.getTool(); classifyTool(outGlobalTools, outLocalTools, outGlobalSimpleTools, currentTools, toolWrapper); for (ScopeToolState state : currentTools.getTools()) { state.getTool().initialize(this); } JobDescriptor[] jobDescriptors = toolWrapper.getJobDescriptors(this); for (JobDescriptor jobDescriptor : jobDescriptors) { appendJobDescriptor(jobDescriptor); } } myTools = Collections.unmodifiableMap(tools); for (GlobalInspectionContextExtension<?> extension : myExtensions.values()) { extension.performPreRunActivities(outGlobalTools, outLocalTools, this); } }