code: public static final RuntimeException addSuppressed(RuntimeException original, Throwable suppressed) {
  		if (original == suppressed) {
  			return original;
  		}
  		if (original == REJECTED_EXECUTION || original == NOT_TIME_CAPABLE_REJECTED_EXECUTION) {
  			RejectedExecutionException ree = new RejectedExecutionException(original.getMessage());
  			ree.addSuppressed(suppressed);
  			return ree;
  		}
  		else {
  			original.addSuppressed(suppressed);
  			return original;
  		}
  	}
docs: Safely suppress a {@link Throwable} on a {@link RuntimeException}. The returned
  {@link RuntimeException}, bearing the suppressed exception, is most often the same
  as the original exception unless:
  <ul>
  <li>original and tentatively suppressed exceptions are one and the same: do
  nothing but return the original.</li>
  <li>original is one of the singleton {@link RejectedExecutionException} created
  by Reactor: make a copy the {@link RejectedExecutionException}, add the
  suppressed exception to it and return that copy.</li>
  
  </ul>
  @param original the original {@link RuntimeException} to bear a suppressed exception
  @param suppressed the {@link Throwable} to suppress
  @return the (most of the time original) {@link RuntimeException} bearing the
  suppressed {@link Throwable}