code: public static Object parse( String value, Class<?> type )
      {
          if (converterRegisteredFor( type )) {
              TypeConverter typeConverter = converterForType(type);
              if (typeConverter != null)
                  return typeConverter.parse(value, type);
          }
          if (canSelfConvert( "parse", type ))
              return selfConvert( "parse", value, type );
          if (canSelfConvert( "valueOf", type ))
              return selfConvert( "valueOf", value, type );
          
          throw new UnsupportedOperationException( "No converter registered for: " + type.getName() );
      }
docs: Converts <code>value</code> to the object type of <code>type</code> by
  using the appropriate <code>TypeConverter</code>.
  <ul>
  <li>We will try first the converter registered by the user.</li>
  <li>Then the <b>parse</b> method of the type parameter</li>
  <li>And finally the <b>valueOf</b> method</li>
  </ul>
  
  
  @param value The string value to convert
  @param type  The type to convert to
  @return The converted value