code: @Nullable
      public <E extends Throwable> T getOrThrow(@NotNull E exception) throws E {
          if (throwable != null) {
              exception.initCause(throwable);
              throw exception;
          }
          return value;
      }
docs: Returns inner value if there were no exceptions, otherwise throws the given {@code exception}.
  
  @param <E> the type of exception
  @param exception  an exception to be thrown
  @return inner value if there were no exceptions
  @throws E if there were exceptions in supplier function