reactor-core/src/main/java/reactor/core/publisher/Operators.java
public static void onDiscardMultiple(Stream<?> multiple, Context context) {
		Consumer<Object> hook = context.getOrDefault(Hooks.KEY_ON_DISCARD, null);
		if (hook != null) {
			try {
				multiple.forEach(hook);
			}
			catch (Throwable t) {
				log.warn("Error in discard hook while discarding multiple values", t);
			}
		}
	}
public static void onDiscardMultiple(Stream<?> multiple, Context context) {
		Consumer<Object> hook = context.getOrDefault(Hooks.KEY_ON_DISCARD, null);
		if (hook != null) {
			try {
				multiple.forEach(hook);
			}
			catch (Throwable t) {
				log.warn("Error in discard hook while discarding multiple values", t);
			}
		}
	}
public static void onDiscardMultiple ( Stream < ? > multiple , Context context ) { Consumer < Object > hook = context . getOrDefault ( Hooks . KEY_ON_DISCARD , null ) ; if ( hook != null ) { try { multiple . forEach ( hook ) ; } catch ( Throwable t ) { log . warn ( "Error in discard hook while discarding multiple values" , t ) ; } } }
Invoke a (local or global) hook that processes elements that get discarded en masse.
This includes elements that are buffered but subsequently discarded due to
cancellation or error.

@param multiple the collection of elements to discard (possibly extracted from other
collections/arrays/queues)
@param context the {@link Context} in which to look for local hook
@see #onDiscard(Object, Context)
@see #onDiscardMultiple(Collection, Context)
@see #onDiscardQueueWithClear(Queue, Context, Function)
Invoke a ( local or global ) hook that processes elements that get discarded en masse . This includes elements that are buffered but subsequently discarded due to cancellation or error .