@Override
  public org.apache.hadoop.hive.ql.exec.FileSinkOperator.RecordWriter getHiveRecordWriter(
      JobConf jc, Path finalOutPath, Class<? extends Writable> valueClass, boolean isCompressed,
      Properties tableProperties, Progressable progress) throws IOException {
    if (actualOutputFormat instanceof HiveOutputFormat) {
      return ((HiveOutputFormat<K, V>) actualOutputFormat).getHiveRecordWriter(jc,
           finalOutPath, valueClass, isCompressed, tableProperties, progress);
    }
    FileSystem fs = finalOutPath.getFileSystem(jc);
    RecordWriter<?, ?> recordWriter = actualOutputFormat.getRecordWriter(fs, jc, null, progress);
    return new HivePassThroughRecordWriter(recordWriter);
  }
This pass through class is used to wrap OutputFormat implementations such that new OutputFormats not derived from
 HiveOutputFormat gets through the checker
ql/src/java/org/apache/hadoop/hive/ql/io/HivePassThroughOutputFormat.java