reactor-core/src/main/java/reactor/core/Exceptions.java
public static RuntimeException multiple(Iterable<Throwable> throwables) {
		RuntimeException multiple = new RuntimeException("Multiple exceptions");
		//noinspection ConstantConditions
		if (throwables != null) {
			for (Throwable t : throwables) {
				//this is ok, multiple is always a new non-singleton instance
				multiple.addSuppressed(t);
			}
		}
		return multiple;
	}
public static RuntimeException multiple(Iterable<Throwable> throwables) {
		RuntimeException multiple = new RuntimeException("Multiple exceptions");
		//noinspection ConstantConditions
		if (throwables != null) {
			for (Throwable t : throwables) {
				//this is ok, multiple is always a new non-singleton instance
				multiple.addSuppressed(t);
			}
		}
		return multiple;
	}
public static RuntimeException multiple ( Iterable < Throwable > throwables ) { RuntimeException multiple = new RuntimeException ( "Multiple exceptions" ) ; //noinspection ConstantConditions if ( throwables != null ) { for ( Throwable t : throwables ) { //this is ok, multiple is always a new non-singleton instance multiple . addSuppressed ( t ) ; } } return multiple ; }
Create a composite exception that wraps the given {@link Throwable Throwable(s)},
as suppressed exceptions. Instances create by this method can be detected using the
{@link #isMultiple(Throwable)} check. The {@link #unwrapMultiple(Throwable)} method
will correctly unwrap these to a {@link List} of the suppressed exceptions. Note
that is will also be consistent in producing a List for other types of exceptions
by putting the input inside a single-element List.

@param throwables the exceptions to wrap into a composite
@return a composite exception with a standard message, and the given throwables as
suppressed exceptions
@see #addThrowable(AtomicReferenceFieldUpdater, Object, Throwable)
Create a composite exception that wraps the given { @link Throwable Throwable ( s ) } as suppressed exceptions . Instances create by this method can be detected using the { @link #isMultiple ( Throwable ) } check . The { @link #unwrapMultiple ( Throwable ) } method will correctly unwrap these to a { @link List } of the suppressed exceptions . Note that is will also be consistent in producing a List for other types of exceptions by putting the input inside a single - element List .