code: @Override
    @NullableDecl
    protected final Throwable tryInternalFastPathGetFailure() {
      if (this instanceof Trusted) {
        Object obj = value;
        if (obj instanceof Failure) {
          return ((Failure) obj).exception;
        }
      }
      return null;
    }
docs: Usually returns {@code null} but, if this {@code Future} has failed, may <i>optionally</i>
  return the cause of the failure. "Failure" means specifically "completed with an exception"; it
  does not include "was cancelled." To be explicit: If this method returns a non-null value,
  then:
  
  <ul>
  <li>{@code isDone()} must return {@code true}
  <li>{@code isCancelled()} must return {@code false}
  <li>{@code get()} must not block, and it must throw an {@code ExecutionException} with the
  return value of this method as its cause
  </ul>
  
  <p>This method is {@code protected} so that classes like {@code
  com.google.common.util.concurrent.SettableFuture} do not expose it to their users as an
  instance method. In the unlikely event that you need to call this method, call {@link
  InternalFutures#tryInternalFastPathGetFailure(InternalFutureFailureAccess)}.
  
  @since 27.0