void (final CompilerMessageCategory category, final String message, final String url, final int lineNum, final int columnNum) { StringTokenizer tokenizer = new StringTokenizer(message, "\n", false); final String[] strings = new String[tokenizer.countTokens()]; for (int idx = 0; tokenizer.hasMoreTokens(); idx++) { strings[idx] = tokenizer.nextToken(); } ApplicationManager.getApplication().runReadAction(() -> { VirtualFile file = url == null ? null : VirtualFileManager.getInstance().findFileByUrl(url); messageView.outputJavacMessage(convertCategory(category), strings, file, url, lineNum, columnNum); if (file != null && category == CompilerMessageCategory.ERROR) { final WolfTheProblemSolver wolf = WolfTheProblemSolver.getInstance(project); final Problem problem = wolf.convertToProblem(file, lineNum, columnNum, strings); wolf.weHaveGotNonIgnorableProblems(file, Collections.singletonList(problem)); } }); }