presto-hive/src/main/java/io/prestosql/plugin/hive/metastore/UserTableKey.java/UserTableKey/UserTableKey
class UserTableKey:    @JsonCreator
    public UserTableKey(
            @JsonProperty("principal") Optional<HivePrincipal> principal,
            @JsonProperty("database") String database,
            @JsonProperty("table") String table,
            @JsonProperty("owner") String owner)
    {
        this.principal = requireNonNull(principal, "principal is null");
        this.database = requireNonNull(database, "database is null");
        this.table = requireNonNull(table, "table is null");
        this.owner = requireNonNull(owner, "owner is null");
    }