void (@NotNull OrderRootType type, ModuleRootModel rootModel, @NotNull Collection<? super VirtualFile> result, final boolean includeProduction, final boolean includeTests, @NotNull List<? extends OrderEnumerationHandler> customHandlers) { if (type.equals(OrderRootType.SOURCES)) { if (includeProduction) { Collections.addAll(result, rootModel.getSourceRoots(includeTests)); } else { result.addAll(rootModel.getSourceRoots(JavaModuleSourceRootTypes.TESTS)); } } else if (type.equals(OrderRootType.CLASSES)) { final CompilerModuleExtension extension = rootModel.getModuleExtension(CompilerModuleExtension.class); if (extension != null) { if (myWithoutSelfModuleOutput && myOrderEnumerator.isRootModuleModel(rootModel)) { if (includeTests && includeProduction) { Collections.addAll(result, extension.getOutputRoots(false)); } } else { if (includeProduction) { Collections.addAll(result, extension.getOutputRoots(includeTests)); } else { ContainerUtil.addIfNotNull(result, extension.getCompilerOutputPathForTests()); } } } } OrderEnumeratorBase.addCustomRootsForModule(type, rootModel, result, includeProduction, includeTests, customHandlers); }