@ApiStatus.Experimental
  public static @Nullable <T> T waitForPromise(@NotNull Promise<T> promise) {
    while (true) {
      try {
        return promise.blockingGet(10, TimeUnit.MILLISECONDS);
      }
      catch (TimeoutException ignore) {
      }
      catch (java.util.concurrent.ExecutionException e) {
        ExceptionUtil.rethrow(e);
      }
      ProgressManager.checkCanceled();
    }
  }
@ApiStatus.Experimental
  public static @Nullable <T> T waitForPromise(@NotNull Promise<T> promise)