addAll() {
      let p = this;
      const reuse = !p.source || p.add === p.rem // special case for indexed set (e.g., crossfilter)
      || !p.rem.length && p.source.length === p.add.length;
      if (reuse) {
        return p;
      } else {
        p = new Pulse(this.dataflow).init(this);
        p.add = p.source;
        p.rem = []; // new operators can ignore rem #2769
        return p;
      }
    }
Returns a pulse that adds all tuples from a backing source. This is
useful for cases where operators are added to a dataflow after an
upstream data pipeline has already been processed, ensuring that
new operators can observe all tuples within a stream.
@return {Pulse} - A pulse instance with all source tuples included
  in the add array. If the current pulse already has all source
  tuples in its add array, it is returned directly. If the current
  pulse does not have a backing source, it is returned directly.