diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index 4e6bad1a289a..864e29d5e4f2 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -63,8 +63,7 @@ import org.jetbrains.jps.model.serialization.PathMacroUtil; import org.jetbrains.jps.service.JpsServiceManager; import org.jetbrains.jps.service.SharedThreadPool; -import javax.tools.Diagnostic; -import javax.tools.JavaFileObject; +import javax.tools.*; import java.io.*; import java.net.ServerSocket; import java.util.*; @@ -486,7 +485,7 @@ public class JavaBuilder extends ModuleLevelBuilder { private static void updateCompilerUsageStatistics(CompileContext context, String compilerName, ModuleChunk chunk) { final ConcurrentMap> map = COMPILER_USAGE_STATISTICS.get(context); Collection names = map.get(compilerName); - while (names == null) { + if (names == null) { names = Collections.synchronizedSet(new HashSet()); final Collection prev = map.putIfAbsent(compilerName, names); if (prev != null) {