public static @NotNull String getToStringValue(@NotNull Object value) {
    StringBuilder sb = new StringBuilder();
    if (value.getClass().getName().equals("javax.swing.ArrayTable")) {
      Map<Object, Object> properties = parseClientProperties(value);
      if (properties != null) {
        for (Map.Entry<Object, Object> entry : properties.entrySet()) {
          if (entry.getKey().equals(UiInspectorAction.ADDED_AT_STACKTRACE)) continue;
          if (!sb.isEmpty()) sb.append(",");
          sb.append('[').append(entry.getKey()).append("->").append(entry.getValue()).append(']');
        }
      }
      if (sb.isEmpty()) sb.append("-");
      value = sb;
    }
    if (value.getClass().isArray()) {
      int length = Array.getLength(value);
      for (int index = 0; index < length; index++) {
        if (!sb.isEmpty()) sb.append(", ");
        Object obj = Array.get(value, index);
        if (obj != null) {
          sb.append(obj.getClass().getName());
        }
      }
      value = sb.isEmpty() ? "-" : sb;
    }
    String toString = StringUtil.notNullize(String.valueOf(value), "toString()==null");
    return toString.replace('\n', ' ');
  }
public static @NotNull String getToStringValue(@NotNull Object value)