code: public <T> T parse(String input, Class<T> clazz) {
  		try {
  			if (String.class.equals(clazz)) {
  				return (T) input;
  			}
  
  			StringParser<T> parser = getParser(clazz, input);
  			if (parser == null) {
  				throw new ParserException(String.format("Cannot parse to %s : %s", clazz.getName(), input));
  			}
  
  			return parser.parse(input);
  		}
  		catch (NumberFormatException e) {
  			throw new ParserException(e.getMessage());
  		}
  	}
docs: Parses a {@link String} to an instance of passed {@link Class}
  
  @param input String value
  @param clazz type to be parsed to
  @param <T> type of class
  @return instance of parsed value