ivate void printToStringProperty(Object value) {
      String strValue = value.toString();
      int classNameEnd = strValue.indexOf("[");
      if (classNameEnd == -1) return;
      String className = strValue.substring(0, classNameEnd);
      String content = strValue.substring(classNameEnd + 1, strValue.length() - 1);
      String[] properties = content.split(" *, *");

      printClassName(className);
      printToPreview(" " + strValue.charAt(classNameEnd) + "\n", NORMAL_OUTPUT);
      for (String prop : properties) {
        if (prop.isEmpty()) continue;
        printToPreview("\t", NORMAL_OUTPUT);
        String[] keyValuePair = prop.split("=");
        if (keyValuePair.length == 1) {
          printToPreview(keyValuePair[0], NORMAL_OUTPUT);
          if (prop.contains("=")) {
            printToPreview("=", NORMAL_OUTPUT);
          }
        }
        else {
          String key = keyValuePair[0];
          printToPreview(key + "=", NORMAL_OUTPUT);
          printClassName(keyValuePair[1]);
        }
        printToPreview("\n", NORMAL_OUTPUT);
      }
      printToPreview("]", NORMAL_OUTPUT);
    }


ivate void printToStringProperty(Object value) {