presto-raptor-legacy/src/main/java/io/prestosql/plugin/raptor/legacy/metadata/ShardInfo.java/ShardInfo/ShardInfo
class ShardInfo:    @JsonCreator
    public ShardInfo(
            @JsonProperty("shardUuid") UUID shardUuid,
            @JsonProperty("bucketNumber") OptionalInt bucketNumber,
            @JsonProperty("nodeIdentifiers") Set<String> nodeIdentifiers,
            @JsonProperty("columnStats") List<ColumnStats> columnStats,
            @JsonProperty("rowCount") long rowCount,
            @JsonProperty("compressedSize") long compressedSize,
            @JsonProperty("uncompressedSize") long uncompressedSize,
            @JsonProperty("xxhash64") long xxhash64)
    {
        this.shardUuid = requireNonNull(shardUuid, "shardUuid is null");
        this.bucketNumber = requireNonNull(bucketNumber, "bucketNumber is null");
        this.nodeIdentifiers = ImmutableSet.copyOf(requireNonNull(nodeIdentifiers, "nodeIdentifiers is null"));
        this.columnStats = ImmutableList.copyOf(requireNonNull(columnStats, "columnStats is null"));

        checkArgument(rowCount >= 0, "rowCount must be positive");
        checkArgument(compressedSize >= 0, "compressedSize must be positive");
        checkArgument(uncompressedSize >= 0, "uncompressedSize must be positive");
        this.rowCount = rowCount;
        this.compressedSize = compressedSize;
        this.uncompressedSize = uncompressedSize;

        this.xxhash64 = xxhash64;
    }