code: public static void addSuppressed(Throwable owner, Throwable add) {
  		try {
  			Method method = owner.getClass().getMethod("addSuppressed", Throwable.class);
  			method.invoke(owner, add);
  		} catch (NoSuchMethodException e) {
  			// ignore, will happen for JRE < 1.7
  		} catch (SecurityException e) {
  			throwUncheckedException(e);
  		} catch (IllegalAccessException e) {
  			throwUncheckedException(e);
  		} catch (IllegalArgumentException e) {
  			throwUncheckedException(e);
  		} catch (InvocationTargetException e) {
  			throwUncheckedException(e);
  		}
  	}
docs: Invoke {@code Throwable#addSuppressed(Throwable)} reflectively if it is available.
  
  It is not available on JRE &lt; 1.7
  
  @since 2.8