Runnable (@Nullable Runnable r1, @Nullable Runnable r2) { if (r2 == null) return r1; if (r1 == null) return r2; return () -> { try { r1.run(); } catch (RuntimeException | Error ex) { try { r2.run(); } catch (RuntimeException | Error ex2) { ex.addSuppressed(ex2); } throw ex; } r2.run(); }; }