code: public static <ComponentT> Optional<ComponentT> buildFromConfig(
        InternalDriverContext context,
        DriverOption classNameOption,
        Class<ComponentT> expectedSuperType,
        String... defaultPackages) {
      return buildFromConfig(context, null, classNameOption, expectedSuperType, defaultPackages);
    }
docs: Tries to create an instance of a class, given an option defined in the driver configuration.
  
  <p>For example:
  
  <pre>
  my-policy.class = my.package.MyPolicyImpl
  </pre>
  
  The class will be instantiated via reflection, it must have a constructor that takes a {@link
  DriverContext} argument.
  
  @param context the driver context.
  @param classNameOption the option that indicates the class. It will be looked up in the default
  profile of the configuration stored in the context.
  @param expectedSuperType a super-type that the class is expected to implement/extend.
  @param defaultPackages the default packages to prepend to the class name if it's not qualified.
  They will be tried in order, the first one that matches an existing class will be used.
  @return the new instance, or empty if {@code classNameOption} is not defined in the
  configuration.