code: @SuppressWarnings("rawtypes")
    public static FileOutputFormat getFileOutputFormat(Configuration conf) throws IOException {
      // Ensure the BigQuery output information is valid.
      ConfigurationUtil.getMandatoryConfig(conf, BigQueryConfiguration.OUTPUT_FORMAT_CLASS_KEY);
  
      Class<?> confClass = conf.getClass(BigQueryConfiguration.OUTPUT_FORMAT_CLASS_KEY, null);
  
      // Fail if the default value was used, or the class isn't a FileOutputFormat.
      if (confClass == null) {
        throw new IOException(
            "Unable to resolve value for the configuration key '"
                + BigQueryConfiguration.OUTPUT_FORMAT_CLASS_KEY
                + "'.");
      } else if (!FileOutputFormat.class.isAssignableFrom(confClass)) {
        throw new IOException("The class " + confClass.getName() + " is not a FileOutputFormat.");
      }
  
      Class<? extends FileOutputFormat> fileOutputClass =
          confClass.asSubclass(FileOutputFormat.class);
  
      // Create a new instance and configure it if it's configurable.
      return ReflectionUtils.newInstance(fileOutputClass, conf);
    }
docs: Gets a configured instance of the stored {@link FileOutputFormat} in the configuration.
  
  @param conf the configuration to reference the keys from.
  @return a configured instance of the stored {@link FileOutputFormat} in the configuration.
  @throws IOException if there's an issue getting an instance of a FileOutputFormat from the
  configuration.