code: public static HiveSerDeManager get(State props) {
      String type = props.getProp(HIVE_ROW_FORMAT, Implementation.AVRO.name());
      Optional<Implementation> implementation = Enums.getIfPresent(Implementation.class, type.toUpperCase());
  
      try {
        if (implementation.isPresent()) {
          return (HiveSerDeManager) ConstructorUtils.invokeConstructor(Class.forName(implementation.get().toString()),
              props);
        }
        return (HiveSerDeManager) ConstructorUtils.invokeConstructor(Class.forName(type), props);
      } catch (ReflectiveOperationException e) {
        throw new RuntimeException(
            "Unable to instantiate " + HiveSerDeManager.class.getSimpleName() + " with type " + type, e);
      }
    }
docs: Get an instance of {@link HiveSerDeManager}.
  
  @param props A {@link State} object. To get a specific implementation of {@link HiveSerDeManager}, specify either
  one of the values in {@link Implementation} (e.g., AVRO or ORC) or the name of a class that implements
  {@link HiveSerDeManager} in property {@link #HIVE_ROW_FORMAT}. The {@link State} object is also used to
  instantiate the {@link HiveSerDeManager}.