docs: @Override
  	public <T> T asObject(String string, Class<T> valueType) {
  		// at this point value type is a class
  		if (string.isEmpty())
  			return null;
  
  		// uses this library Classes#forName instead of Java standard Class#forName
  		// first uses current thread context loader whereas the second uses library loader
  		// as a consequence classes defined by web app could not be found if use Java standard Class#forName
  
  		try {
  			return (T) Classes.forName(string);
  		} catch (NoSuchBeingException e) {
  			log.warn("Class |%s| not found. Class converter force return value to null.", string);
  			return null;
  		}
  	}