code: public static String manglePropertyName(String name) {
          if (name != null && name.length() > 0) {
              StringBuilder builder = new StringBuilder();
              int length = name.length();
              char c = name.charAt(0);
              if (c >= '0' && c <= '9') {
                  builder.append('_'); // don't start with a digit
              }
              for (int i = 0; i < length; i++) {
                  c = name.charAt(i);
                  if (c > ' ' && FORBIDDEN_NAME_CHARS.indexOf(c) < 0) {
                      builder.append(c);
                  } else {
                      builder.append('_');
                  }
              }
              name = builder.toString();
              name = StringEscapeUtils.escapeEcmaScript(name); // prevent from scripting in names
          } else {
              name = "_";
          }
          return name;
      }
docs: FIXME(rw,2015-04-22) not useful in the core layer