code: function FulfilledPromise(value, onFulfilled, unused, deferred) {
    if (!onFulfilled) {
      deferredAdopt(deferred, FulfilledPromise, value);
      return this;
    }
    if (!deferred) {
      deferred = new Deferred(this.constructor);
    }
    defer(tryCatchDeferred(deferred, onFulfilled, value));
    return deferred.promise;
  }
docs: **************************
  Private functions
  ************************** 
  The Fulfilled Promise state. Calls onFulfilled with the resolved value of
  this promise, creating a new promise.
  
  If there is no onFulfilled, returns the current promise to avoid an promise
  instance.
  
  @this {!Promise} The current promise
  @param {*=} value The current promise's resolved value.
  @param {function(*=)=} onFulfilled
  @param {function(*=)=} unused
  @param {Deferred} deferred A deferred object that holds a promise and its
  resolve and reject functions. It IS NOT passed when called from
  Promise#then to save an object instance (since we may return the current
  promise). It IS passed in when adopting the Fulfilled state from the
  Pending state.
  @returns {!Promise}