public static Builder builder() {
    return new Builder();
  }
@TestTemplate
  public void deleteWithDuplicates() {
    assertThat(listManifestFiles()).isEmpty();
    table.newFastAppend().appendFile(FILE_C).appendFile(FILE_D).commit();

    table
        .newDelete()
        .deleteFile(FILE_C)
        .deleteFile(DataFiles.builder(SPEC).copy(FILE_C).build())
        .deleteFile(FILE_C)
        .deleteFile(FILE_D)
        .deleteFile(DataFiles.builder(SPEC).copy(FILE_D).build())
        .deleteFile(FILE_D)
        .commit();

    assertThat(table.currentSnapshot().summary())
        .hasSize(11)
        .containsEntry(SnapshotSummary.CHANGED_PARTITION_COUNT_PROP, "2")
        .containsEntry(SnapshotSummary.DELETED_FILES_PROP, "2")
        .containsEntry(SnapshotSummary.DELETED_RECORDS_PROP, "2")
        .containsEntry(SnapshotSummary.REMOVED_FILE_SIZE_PROP, "20")
        .containsEntry(SnapshotSummary.TOTAL_DATA_FILES_PROP, "0")
        .containsEntry(SnapshotSummary.TOTAL_DELETE_FILES_PROP, "0")
        .containsEntry(SnapshotSummary.TOTAL_EQ_DELETES_PROP, "0")
        .containsEntry(SnapshotSummary.TOTAL_POS_DELETES_PROP, "0")
        .containsEntry(SnapshotSummary.TOTAL_FILE_SIZE_PROP, "0")
        .containsEntry(SnapshotSummary.TOTAL_RECORDS_PROP, "0");
  }