ScheduledPass (@NotNull FileEditor fileEditor, @NotNull Document document, @NotNull VirtualFile virtualFile, @NotNull PsiFile psiFile, @NotNull Int2ObjectMap<ScheduledPass> toBeSubmitted, @NotNull Int2ObjectMap<TextEditorHighlightingPass> id2Pass, @NotNull List<ScheduledPass> freePasses, @NotNull List<ScheduledPass> dependentPasses, @NotNull DaemonProgressIndicator updateProgress, @NotNull AtomicInteger myThreadsToStartCountdown, int predecessorId, @NotNull Int2ObjectMap<ScheduledPass> thisEditorId2ScheduledPass, @NotNull Int2ObjectMap<? extends TextEditorHighlightingPass> thisEditorId2Pass) { ScheduledPass predecessor = thisEditorId2ScheduledPass.get(predecessorId); if (predecessor == null) { TextEditorHighlightingPass textEditorPass = thisEditorId2Pass.get(predecessorId); predecessor = textEditorPass == null ? null : createScheduledPass(fileEditor, document, virtualFile, psiFile, textEditorPass, toBeSubmitted, id2Pass, freePasses, dependentPasses, updateProgress, myThreadsToStartCountdown); } return predecessor; }