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);
			}
		}
	}
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)