presto-hive/src/main/java/io/prestosql/plugin/hive/metastore/HivePageSinkMetadata.java/HivePageSinkMetadata/HivePageSinkMetadata
class HivePageSinkMetadata:    public HivePageSinkMetadata(
            SchemaTableName schemaTableName,
            Optional<Table> table,
            Map<List<String>, Optional<Partition>> modifiedPartitions)
    {
        this.schemaTableName = requireNonNull(schemaTableName, "schemaTableName is null");
        this.table = requireNonNull(table, "table is null");
        this.modifiedPartitions = requireNonNull(modifiedPartitions, "modifiedPartitions is null");
        checkArgument(table.isPresent() && !table.get().getPartitionColumns().isEmpty() || modifiedPartitions.isEmpty());
    }