code: public static ToStringOption valueOf(String s) {
          Pattern p = Pattern.compile("\\{appendStatic *\\: *(true|false) *; *appendTransient *\\: *(true|false) *; *upToClass *: *(.*)\\}");
          Matcher m = p.matcher(s);
          if (!m.matches()) throw new IllegalArgumentException("Unknown ToStringOption: " + s);
          boolean appendStatic = Boolean.valueOf(m.group(1));
          boolean appendTransient = Boolean.valueOf(m.group(2));
          String upToClassStr = m.group(3);
          Class<?> upToClass;
          if (S.isEmpty(upToClassStr)) upToClass = null;
          else try {
              upToClass = Class.forName(upToClassStr);
          } catch (ClassNotFoundException e) {
              throw new IllegalArgumentException("Cannot find upToClass: " + upToClassStr);
          }
          return new ToStringOption(appendStatic, appendTransient, upToClass);
      }
docs: Construct a <code>ToStringOption</code> instance out from a string. The format
  of the String should be the same as the format output of {@link #toString()}
  method
  
  @param s
  @return an option instance corresponding to the string specified