function prependValue ($value, $key = 0)
  {
    $this->setIterator (new HeadAndTailIterator ($value, $this->getIterator (), $key, true));
    return $this;
  }
function prependValue ($value, $key = 0)
  {
    $this->setIterator (new HeadAndTailIterator ($value, $this->getIterator (), $key, true));
    return $this;
  }
function prependValue ( $ value , $ key = 0 ) { $ this -> setIterator ( new HeadAndTailIterator ( $ value , $ this -> getIterator ( ) , $ key , true ) ) ; return $ this ; }
Prepends a single value to the current iteration and sets a new iterator that iterates over that value and all
values of the previously set iterator.

> ##### Caution
See {@see append()}

@param mixed $value The value to be prepended.
@param mixed $key   The key to be prepended.
@return $this
Prepends a single value to the current iteration and sets a new iterator that iterates over that value and all values of the previously set iterator .