presto-raptor-legacy/src/main/java/io/prestosql/plugin/raptor/legacy/metadata/ShardMetadata.java/ShardMetadata/ShardMetadata
class ShardMetadata:    public ShardMetadata(
            long tableId,
            long shardId,
            UUID shardUuid,
            OptionalInt bucketNumber,
            long rowCount,
            long compressedSize,
            long uncompressedSize,
            OptionalLong xxhash64,
            OptionalLong rangeStart,
            OptionalLong rangeEnd)
    {
        checkArgument(tableId > 0, "tableId must be > 0");
        checkArgument(shardId > 0, "shardId must be > 0");
        checkArgument(rowCount >= 0, "rowCount must be >= 0");
        checkArgument(compressedSize >= 0, "compressedSize must be >= 0");
        checkArgument(uncompressedSize >= 0, "uncompressedSize must be >= 0");

        this.tableId = tableId;
        this.shardId = shardId;
        this.shardUuid = requireNonNull(shardUuid, "shardUuid is null");
        this.bucketNumber = requireNonNull(bucketNumber, "bucketNumber is null");
        this.rowCount = rowCount;
        this.compressedSize = compressedSize;
        this.uncompressedSize = uncompressedSize;
        this.xxhash64 = requireNonNull(xxhash64, "xxhash64 is null");
        this.rangeStart = requireNonNull(rangeStart, "rangeStart is null");
        this.rangeEnd = requireNonNull(rangeEnd, "rangeEnd is null");
    }