function swap (callable $fn)
  {
    $this->pack ();
    $this->data = $fn ($this->data);
    return $this;
  }
function swap (callable $fn)
  {
    $this->pack ();
    $this->data = $fn ($this->data);
    return $this;
  }
function swap ( callable $ fn ) { $ this -> pack ( ) ; $ this -> data = $ fn ( $ this -> data ) ; return $ this ; }
Replaces the current data set by another.

@param callable $fn A callback that receives as argument an array of the current data and returns the
new data array.
@return $this
Replaces the current data set by another .