private static void append(StringBuilder sb, Object value, Component renderer) {
    int length = sb.length();
    if (renderer instanceof JPanel) {
      for (Component c : UIUtil.uiTraverser(renderer)) {
        if (appendSimple(sb, c)) sb.append(" ");
      }
      if (sb.length() == length) {
        sb.append(TreeUtil.getUserObject(value));
      }
    }
    else if (!appendSimple(sb, renderer)) {
      sb.append(TreeUtil.getUserObject(value));
    }
    // replace various space chars like `FontUtil#thinSpace` with just space
    for (int i = length, len = sb.length(); i < len; i++) {
      char c = sb.charAt(i);
      if (c >= '\u2000' && c <= '\u2009') sb.setCharAt(i, ' ');
    }
  }
private static void append(StringBuilder sb, Object value, Component renderer)