@Override
  public UpdateSchema deleteColumn(String name) {
    Types.NestedField field = findField(name);
    Preconditions.checkArgument(field != null, "Cannot delete missing column: %s", name);
    Preconditions.checkArgument(
        !adds.containsKey(field.fieldId()), "Cannot delete a column that has additions: %s", name);
    Preconditions.checkArgument(
        !updates.containsKey(field.fieldId()), "Cannot delete a column that has updates: %s", name);
    deletes.add(field.fieldId());

    return this;
  }
@Test
  public void testDeleteMissingColumn() {
    assertThatThrownBy(
            () -> {
              UpdateSchema update = new SchemaUpdate(SCHEMA, SCHEMA_LAST_COLUMN_ID);
              update.deleteColumn("col");
            })
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot delete missing column: col");
  }