void (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, ' '); } }