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);
        }
      }
    }