docs: function multicast$2(subjectOrSubjectFactory, selector) {
      var subjectFactory;
      if (typeof subjectOrSubjectFactory === 'function') {
          subjectFactory = subjectOrSubjectFactory;
      }
      else {
          subjectFactory = function subjectFactory() {
              return subjectOrSubjectFactory;
          };
      }
      if (typeof selector === 'function') {
          return this.lift(new MulticastOperator(subjectFactory, selector));
      }
      var connectable = Object.create(this, ConnectableObservable_1.connectableObservableDescriptor);
      connectable.source = this;
      connectable.subjectFactory = subjectFactory;
      return connectable;
  }