docs: function multicast(subjectOrSubjectFactory, selector) {
  	    var subjectFactory;
  	    if (typeof subjectOrSubjectFactory === 'function') {
  	        subjectFactory = subjectOrSubjectFactory;
  	    }
  	    else {
  	        subjectFactory = function subjectFactory() {
  	            return subjectOrSubjectFactory;
  	        };
  	    }
  	    return !selector ?
  	        new ConnectableObservable_1.ConnectableObservable(this, subjectFactory) :
  	        new MulticastObservable_1.MulticastObservable(this, subjectFactory, selector);
  	}