fork(flags) {
      return new Pulse(this.dataflow).init(this, flags);
    }
Creates a new pulse based on the values of this pulse.
The dataflow, time stamp and field modification values are copied over.
By default, new empty ADD, REM and MOD arrays are created.
@param {number} flags - Integer of boolean flags indicating which (if any)
  tuple arrays should be copied to the new pulse. The supported flag values
  are ADD, REM and MOD. Array references are copied directly: new array
  instances are not created.
@return {Pulse} - The forked pulse instance.
@see init