void (@NotNull Object buildId, @NotNull BuildEvent event) { if (event instanceof BuildIssueEvent) { BuildConsoleUtils.print(this, ((BuildIssueEvent)event).getGroup(), ((BuildIssueEvent)event).getIssue()); } else if (event instanceof FileMessageEvent) { boolean isStdOut = ((FileMessageEvent)event).getResult().getKind() != MessageEvent.Kind.ERROR; String description = event.getDescription(); if (description != null) { append(description, isStdOut); } else { FilePosition position = ((FileMessageEvent)event).getFilePosition(); StringBuilder fileLink = new StringBuilder(); fileLink.append(position.getFile().getName()); if (position.getStartLine() > 0) { fileLink.append(":").append(position.getStartLine() + 1); } if (position.getStartColumn() > 0) { fileLink.append(":").append(position.getStartColumn() + 1); } print(fileLink.toString(), ConsoleViewContentType.NORMAL_OUTPUT, new LazyFileHyperlinkInfo(getProject(), position.getFile().getPath(), position.getStartLine(), position.getStartColumn())); print(": ", ConsoleViewContentType.NORMAL_OUTPUT); append(event.getMessage(), isStdOut); } } else if (event instanceof MessageEvent) { appendEventResult(((MessageEvent)event).getResult()); } else if (event instanceof FinishEvent) { appendEventResult(((FinishEvent)event).getResult()); } else if (event instanceof OutputBuildEvent) { onEvent((OutputBuildEvent)event); } else { append(chooseNotNull(event.getDescription(), event.getMessage()), true); } }