HighlightingSessionImpl (@NotNull PsiFile psiFile, @NotNull DaemonProgressIndicator progressIndicator, @Nullable EditorColorsScheme editorColorsScheme, @NotNull ProperTextRange visibleRange, @NotNull CanISilentlyChange.Result canChangeFileSilently, @NotNull Number daemonCancelEventCount) { // no assertIsDispatchThread() is necessary Map<PsiFile, HighlightingSession> map = progressIndicator.getUserData(HIGHLIGHTING_SESSION); if (map == null) { map = progressIndicator.putUserDataIfAbsent(HIGHLIGHTING_SESSION, new ConcurrentHashMap<>()); } HighlightingSessionImpl session = new HighlightingSessionImpl(psiFile, progressIndicator, editorColorsScheme, visibleRange, canChangeFileSilently, daemonCancelEventCount); map.put(psiFile, session); return session; }