if (isPromise(current)) {
        if (!isFulfilled(current)) {
          return this.resolvePromise(Ember.RSVP.hash({ value, current }), this._checkValueAndCurrent);
        } else {
          current = getPromiseContent(current);