text:   /**
     * Returns two observables which partition the observations of the source by the given function.
     * The first will trigger observations for those values for which the predicate returns true.
     * The second will trigger observations for those values where the predicate returns false.
     * The predicate is executed once for each subscribed observer.
     * Both also propagate all error observations arising from the source and each completes
     * when the source completes.
     * @param {Function} predicate
     *    The function to determine which output Observable will trigger a particular observation.
     * @returns {Array}
     *    An array of observables. The first triggers when the predicate returns true,
     *    and the second triggers when the predicate returns false.
    */
    observableProto.partition = function(predicate, thisArg) {
      var published = this.publish().refCount();
      return [
        published.filter(predicate, thisArg),
        published.filter(function (x, i, o) { return !predicate.call(thisArg, x, i, o); })
      ];
    };
  