@Override
    public boolean equals(Object o) {
        if (this == o)
            return true;
        if (o == null || getClass() != o.getClass())
            return false;
        S3Object s3Object = (S3Object) o;
        return objectId == s3Object.objectId && objectSize == s3Object.objectSize && timestamp == s3Object.timestamp && attributes == s3Object.attributes && s3ObjectState == s3Object.s3ObjectState;
    }
The timestamp of the object:
- If state = PREPARED, it's the deadline timestamp.
- If state = MARK_DESTROYED, it's the mark destroyed timestamp.
metadata/src/main/java/org/apache/kafka/metadata/stream/S3Object.java