code: function startWith$2() {
      var array = [];
      for (var _i = 0; _i < arguments.length; _i++) {
          array[_i - 0] = arguments[_i];
      }
      var scheduler = array[array.length - 1];
      if (isScheduler_1.isScheduler(scheduler)) {
          array.pop();
      }
      else {
          scheduler = null;
      }
      var len = array.length;
      if (len === 1) {
          return concat_1.concatStatic(new ScalarObservable_1.ScalarObservable(array[0], scheduler), this);
      }
      else if (len > 1) {
          return concat_1.concatStatic(new ArrayObservable_1.ArrayObservable(array, scheduler), this);
      }
      else {
          return concat_1.concatStatic(new EmptyObservable_1.EmptyObservable(scheduler), this);
      }
  }
docs: /* tslint:disable:max-line-length 
  Returns an Observable that emits the items in a specified Iterable before it begins to emit items emitted by the
  source Observable.
  
  <img src="./img/startWith.png" width="100%">
  
  @param {Values} an Iterable that contains the items you want the modified Observable to emit first.
  @return {Observable} an Observable that emits the items in the specified Iterable and then emits the items
  emitted by the source Observable.
  @method startWith
  @owner Observable