public CloseableIterable<StructForDelete<T>> filterNegate(
      CloseableIterable<StructForDelete<T>> records) {
    Predicate<StructForDelete<T>> inEq = applyEqDeletes();
    Predicate<StructForDelete<T>> inPos = applyPosDeletes();
    Predicate<StructForDelete<T>> or = inEq.or(inPos);
    Filter<StructForDelete<T>> remainingRowsFilter =
        new Filter<StructForDelete<T>>() {
          @Override
          protected boolean shouldKeep(StructForDelete<T> item) {
            return or.test(item);
          }
        };

    return remainingRowsFilter.filter(records);
  }
Get all delete ids of equality delete files

<p>For example, if there are two equality delete fields, one is [1, 2] and another is [1], the
delete ids will be [1, 2].

@return delete ids
amoro-format-iceberg/src/main/java/org/apache/amoro/io/reader/CombinedDeleteFilter.java