public void customizeCellRenderer( JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { if (value instanceof PackageDependenciesNode) { PackageDependenciesNode node = (PackageDependenciesNode) value; if (expanded) { setIcon(node.getOpenIcon()); } else { setIcon(node.getClosedIcon()); } setForeground( selected && hasFocus ? UIUtil.getTreeSelectionForeground() : UIUtil.getTreeForeground()); if (!(selected && hasFocus) && node.hasMarked() && !DependencyUISettings.getInstance().UI_FILTER_LEGALS) { setForeground(node.hasUnmarked() ? PARTIAL_INCLUDED : WHOLE_INCLUDED); } append(node.toString(), SimpleTextAttributes.REGULAR_ATTRIBUTES); final String locationString = node.getComment(); if (!StringUtil.isEmpty(locationString)) { append(" (" + locationString + ")", SimpleTextAttributes.GRAY_ATTRIBUTES); } } }