@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        StreamOffsetRange that = (StreamOffsetRange) o;
        return streamId == that.streamId && startOffset == that.startOffset && endOffset == that.endOffset;
    }
StreamOffsetRange represents <code>[startOffset, endOffset)</code> in the stream.
s3stream/src/main/java/com/automq/stream/s3/metadata/StreamOffsetRange.java