code: @Override
    public void addSerDeProperties(Path path, HiveRegistrationUnit hiveUnit) throws IOException {
      Preconditions.checkArgument(this.fs.getFileStatus(path).isDirectory(), path + " is not a directory.");
      Schema schema;
      try (Timer.Context context = metricContext.timer(HIVE_SPEC_SCHEMA_READING_TIMER).time()) {
        schema = getDirectorySchema(path);
      }
      if (schema == null) {
        return;
      }
      hiveUnit.setSerDeType(this.serDeWrapper.getSerDe().getClass().getName());
      hiveUnit.setInputFormat(this.serDeWrapper.getInputFormatClassName());
      hiveUnit.setOutputFormat(this.serDeWrapper.getOutputFormatClassName());
  
      addSchemaProperties(path, hiveUnit, schema);
    }
docs: Add an Avro {@link Schema} to the given {@link HiveRegistrationUnit}.
  
  <p>
  If {@link #USE_SCHEMA_FILE} is true, the schema will be added via {@link #SCHEMA_URL} pointing to
  the schema file named {@link #SCHEMA_FILE_NAME}.
  </p>
  
  <p>
  If {@link #USE_SCHEMA_FILE} is false, the schema will be obtained by {@link #getDirectorySchema(Path)}.
  If the length of the schema is less than {@link #SCHEMA_LITERAL_LENGTH_LIMIT}, it will be added via
  {@link #SCHEMA_LITERAL}. Otherwise, the schema will be written to {@link #SCHEMA_FILE_NAME} and added
  via {@link #SCHEMA_URL}.
  </p>