ErrorTreeElement (@NotNull ErrorTreeElementKind kind, String @NotNull [] text, @Nullable VirtualFile underFileGroup, @Nullable VirtualFile file, int line, int column, @Nullable Object data) { if (underFileGroup == null && file == null) { return addSimpleMessageElement(new SimpleMessageElement(kind, text, data)); } if (file == null) { line = -1; column = -1; } final int guiLine = line < 0 ? -1 : line + 1; final int guiColumn = column < 0 ? -1 : column + 1; VirtualFile group = underFileGroup == null ? file : underFileGroup; VirtualFile nav = file == null ? underFileGroup : file; return addNavigatableMessage( group.getPresentableUrl(), new OpenFileDescriptor(myProject, nav, line, column), kind, text, data, NewErrorTreeViewPanel.createExportPrefix(guiLine), NewErrorTreeViewPanel.createRendererPrefix(guiLine, guiColumn), group ); }