code: public static Object unmarshal (Class<?> type, String source)
          throws Exception
      {
          if (type.isEnum()) {
              // we need to use a dummy enum type here as there's no way to ask Enum.valueOf to
              // execute on an existentially typed enum; it all works out under the hood
              @SuppressWarnings("unchecked") Class<Dummy> etype = (Class<Dummy>)type;
              return Enum.valueOf(etype, source); // may throw an exception
          }
          // look up an argument parser for the field type
          Parser parser = _parsers.get(type);
          if (parser == null) {
              throw new Exception(
                  "Don't know how to convert strings into values of type '" + type + "'.");
          }
          return parser.parse(source);
      }
docs: Attempts to convert the specified value to an instance of the
  specified object type.
  
  @exception Exception thrown if no field parser exists for the
  target type or if an error occurs while parsing the value.