code: @SuppressWarnings("unchecked")
    private KeyEntitySchemaParser<?, ?> getSchemaParser(
        String schemaParserClassName) {
      if (schemaParsers.contains(schemaParserClassName)) {
        return schemaParsers.get(schemaParserClassName);
      } else {
        try {
          Class<KeyEntitySchemaParser<?, ?>> schemaParserClass = (Class<KeyEntitySchemaParser<?, ?>>) Class
              .forName(schemaParserClassName);
          KeyEntitySchemaParser<?, ?> schemaParser = schemaParserClass
              .getConstructor().newInstance();
          schemaParsers.putIfAbsent(schemaParserClassName, schemaParser);
          return schemaParser;
        } catch (Exception e) {
          throw new DatasetException(
              "Could not instantiate schema parser class: "
                  + schemaParserClassName, e);
        }
      }
    }
docs: Get the schema parser by its classname. This method will cache the
  constructed schema parsers.
  
  @param schemaParserClassName
  The class name of the schema parser
  @return The constructed schema parser.