function reverse ($preserveKeys = false)
  {
    $this->pack ();
    $this->it = $this->array_reverse_iterator ($this->data, $preserveKeys);
    unset ($this->data);
    return $this;
  }
function reverse ($preserveKeys = false)
  {
    $this->pack ();
    $this->it = $this->array_reverse_iterator ($this->data, $preserveKeys);
    unset ($this->data);
    return $this;
  }
function reverse ( $ preserveKeys = false ) { $ this -> pack ( ) ; $ this -> it = $ this -> array_reverse_iterator ( $ this -> data , $ preserveKeys ) ; unset ( $ this -> data ) ; return $ this ; }
Reverses the order of iteration.

Note: this method materializes the data.

@param bool $preserveKeys If set to `true` numeric keys are preserved. Non-numeric keys are not affected by this
setting and will always be preserved.
@return $this
Reverses the order of iteration .