openrtb-core/src/main/java/com/google/openrtb/util/OpenRtbUtils.java
public static boolean removeBids(
      BidResponse.Builder response, @Nullable String seatFilter, Predicate<Bid.Builder> bidFilter) {
    checkNotNull(bidFilter);
    boolean updated = false;

    for (SeatBid.Builder seatbid : response.getSeatbidBuilderList()) {
      if (filterSeat(seatbid, seatFilter)) {
        updated |= removeBids(seatbid, bidFilter);
      }
    }

    return updated;
  }
public static boolean removeBids(
      BidResponse.Builder response, @Nullable String seatFilter, Predicate<Bid.Builder> bidFilter) {
    checkNotNull(bidFilter);
    boolean updated = false;

    for (SeatBid.Builder seatbid : response.getSeatbidBuilderList()) {
      if (filterSeat(seatbid, seatFilter)) {
        updated |= removeBids(seatbid, bidFilter);
      }
    }

    return updated;
  }
Remove bids by seat and bid.

@param seatFilter Seat ID, or {@code null} to select the anonymous seat
@param bidFilter Returns {@code true} to keep bid, {@code false} to remove
@return {@code true} if any bid was removed
@see ProtoUtils#filter(List, Predicate) for more general filtering support