docs: @Override
    @Nonnull
    protected final SoyValue compute() {
      try {
        if (!future.isDone()) {
          futureBlockCallback.get().beforeBlock();
        }
        return SoyValueConverter.INSTANCE.convert(future.get()).resolve();
      } catch (ExecutionException e) {
        throw new SoyFutureException(e.getCause());
      } catch (Throwable e) {
        throw new SoyFutureException(e);
      }
    }