void (@NotNull Runnable r1, @NotNull Runnable r2, @NotNull Runnable r3) { Throwable t = null; try { r1.run(); } catch (Throwable e) { t = e; } try { r2.run(); } catch (Throwable e) { if (t == null) { t = e; } else { t.addSuppressed(e); } } try { r3.run(); } catch (Throwable e) { if (t == null) { t = e; } else { t.addSuppressed(e); } } if (t != null) { ExceptionUtilRt.rethrowUnchecked(t); } }