code: public static <T> Object constructType(Class<T> type, String fromValue) throws ClassFactoryException {
  
  		Assert.notNull(type, "Missing type!");
  
  		// a primitive or "simple" type
  		if (isSimpleType(type)) {
  			return stringToPrimitiveType(fromValue, type);
  		}
  
  		// have a constructor that accepts a single argument (String or any other primitive type that can be converted from String)
  		Pair<Boolean, T> result = constructViaConstructor(type, fromValue);
  		if (result.getKey()) {
  			return result.getValue();
  		}
  
  		result = constructViaMethod(type, fromValue);
  		if (result.getKey()) {
  			return result.getValue();
  		}
  
  		//
  		// have a registered implementation of ParamConverterProvider JAX-RS extension SPI that returns a ParamConverter instance capable of a "from string" conversion for the type.
  		//
  
  		// Be List, Set or SortedSet, where T satisfies 2, 3 or 4 above. The resulting collection is read-only.
  		/*if (type.isAssignableFrom(List.class) ||
  			type.isAssignableFrom(Set.class) ||
  			type.isAssignableFrom(SortedSet.class))*/
  
  
  		throw new ClassFactoryException("Could not construct: " + type + " with default value: '" + fromValue + "', " +
  		                                "must provide String only or primitive type constructor, " +
  		                                "static fromString() or valueOf() methods!", null);
  	}
docs: Aims to construct given type utilizing a constructor that takes String or other primitive type values
  
  @param type      to be constructed
  @param fromValue constructor param
  @param <T>       type of value
  @return class object
  @throws ClassFactoryException in case type could not be constructed