code: @Deprecated
    public <F> PromisedValue<F> newPromise(Class<F> klass) {
      PromisedValueImpl<F> promisedValue =
          new PromisedValueImpl<>(getPipelineKey(), thisJobRecord.getKey(), currentRunGUID);
      updateSpec.getNonTransactionalGroup().includeSlot(promisedValue.getSlot());
      return promisedValue;
    }
docs: Invoke this method from within the {@code run} method of a <b>generator
  job</b> in order to declare that some value will be provided asynchronously
  by some external agent.
  
  @param <F> The type of the asynchronously provided value.
  @param klass A {@link Class} object used to specify the type of the
  asynchronously provided value.
  @return A {@code PromisedValue} that represents an empty value slot that
  will be filled at a later time when the external agent invokes
  {@link PipelineService#submitPromisedValue(String, Object)}. This
  may be passed in to further invocations of {@code futureCall()} in
  order to specify a data dependency.
  @deprecate Use #newPromise() instead.