@Override
  public int hashCode() {
    return Objects.hash(startTimestamp, recordSequence, childPartitions);
  }
@Test
  public void testMetadataShouldNotInterfereInEquality() {
    final ChildPartitionsRecord record1 =
        new ChildPartitionsRecord(
            Timestamp.ofTimeMicroseconds(1L),
            "recordSequence",
            Arrays.asList(
                new ChildPartition("childPartition1", "partitionToken"),
                new ChildPartition("childPartition2", "partitionToken")),
            mock(ChangeStreamRecordMetadata.class));
    final ChildPartitionsRecord record2 =
        new ChildPartitionsRecord(
            Timestamp.ofTimeMicroseconds(1L),
            "recordSequence",
            Arrays.asList(
                new ChildPartition("childPartition1", "partitionToken"),
                new ChildPartition("childPartition2", "partitionToken")),
            mock(ChangeStreamRecordMetadata.class));

    assertEquals(record1, record2);
    assertEquals(record1.hashCode(), record2.hashCode());
  }