code: public Object parseString(Schema schema, String input) {
      checkSchemaAndInput(schema, input);
  
      if (null == input) {
        return null;
      }
  
      TypeParser parser = findParser(schema);
  
      try {
        Object result = parser.parseString(input, schema);
        return result;
      } catch (Exception ex) {
        String message = String.format("Could not parse '%s' to '%s'", input, parser.expectedClass().getSimpleName());
        throw new DataException(message, ex);
      }
    }
docs: Method is used to parse String data to the proper Java types.
  
  @param schema Input schema to parse the String data by.
  @param input  Java type specific to the schema supplied.
  @return Java type for the
  @throws DataException                 Exception is thrown when there is an exception thrown while parsing the input string.
  @throws UnsupportedOperationException Exception is thrown if there is no type parser registered for the schema.
  @throws NullPointerException          Exception is thrown if the schema passed is not optional and a null input value is passed.