openrtb-core/src/main/java/com/google/openrtb/util/ProtoUtils.java
public static <B extends MessageLite.Builder> boolean update(
      Iterable<B> objs, Function<B, Boolean> updater) {
    checkNotNull(updater);
    boolean updated = false;

    for (B obj : objs) {
      updated |= updater.apply(obj);
    }
    return updated;
  }
public static <B extends MessageLite.Builder> boolean update(
      Iterable<B> objs, Function<B, Boolean> updater) {
    checkNotNull(updater);
    boolean updated = false;

    for (B obj : objs) {
      updated |= updater.apply(obj);
    }
    return updated;
  }
public static < B extends MessageLite . Builder > boolean update ( Iterable < B > objs , Function < B , Boolean > updater ) { checkNotNull ( updater ) ; boolean updated = false ; for ( B obj : objs ) { updated |= updater . apply ( obj ) ; } return updated ; }
Updates every builder from a sequence.

@param objs List of builders to update
@param updater Update function. The {@code apply()} method can decide or not to update each
object, and it's expected to return {@code true} if some update was made
@return {@code true} if at least one object was updated
Updates every builder from a sequence .