void (@NotNull JTree tree, final Object value, final boolean selected, final boolean expanded, final boolean leaf, final int row, final boolean hasFocus) { final FontMetrics metrics = tree.getFontMetrics(tree.getFont()); final SvnFileRevision revision; if (value instanceof MyRootNode) { revision = myRevision; } else { final MyNode myNode = (MyNode)value; final MyNamedConfigurable configurable = (MyNamedConfigurable)myNode.getConfigurable(); revision = configurable.getRevision(); } String description = getDescriptionOfChangeList(revision.getCommitMessage()); if (metrics.stringWidth(description) > ourMaxWidth) { description = truncateDescription(description, metrics, ourMaxWidth - metrics.stringWidth(getTruncatedSuffix())); description += getTruncatedSuffix(); } append(revision.getRevisionNumber().asString() + " ", SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES); append(description + " ", SimpleTextAttributes.REGULAR_ATTRIBUTES); append(notNullize(revision.getAuthor()), SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES); append(", " + formatPrettyDateTime(revision.getRevisionDate()), SimpleTextAttributes.REGULAR_ATTRIBUTES); }