presto-main/src/main/java/io/prestosql/metadata/TableHandle.java/TableHandle/TableHandle
class TableHandle:    @JsonCreator
    public TableHandle(
            @JsonProperty("catalogName") CatalogName catalogName,
            @JsonProperty("connectorHandle") ConnectorTableHandle connectorHandle,
            @JsonProperty("transaction") ConnectorTransactionHandle transaction,
            @JsonProperty("layout") Optional<ConnectorTableLayoutHandle> layout)
    {
        this.catalogName = requireNonNull(catalogName, "catalogName is null");
        this.connectorHandle = requireNonNull(connectorHandle, "connectorHandle is null");
        this.transaction = requireNonNull(transaction, "transaction is null");
        this.layout = requireNonNull(layout, "layout is null");
    }