docs: 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() );
      }