private static void runSuppressing(@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);
    }
  }
private static void runSuppressing(@NotNull Runnable r1, @NotNull Runnable r2, @NotNull Runnable r3)