presto-main/src/main/java/io/prestosql/sql/planner/PartitioningHandle.java/PartitioningHandle/PartitioningHandle
class PartitioningHandle:    @JsonCreator
    public PartitioningHandle(
            @JsonProperty("connectorId") Optional<CatalogName> connectorId,
            @JsonProperty("transactionHandle") Optional<ConnectorTransactionHandle> transactionHandle,
            @JsonProperty("connectorHandle") ConnectorPartitioningHandle connectorHandle)
    {
        this.connectorId = requireNonNull(connectorId, "connectorId is null");
        this.transactionHandle = requireNonNull(transactionHandle, "transactionHandle is null");
        checkArgument(!connectorId.isPresent() || transactionHandle.isPresent(), "transactionHandle is required when connectorId is present");
        this.connectorHandle = requireNonNull(connectorHandle, "connectorHandle is null");
    }