public function seek($key)
{
if ($key > sizeof($this) / 2) {
$this->end();
} else {
if ($this->valid() === false) {
$this->rewind();
}
}
if ($key > $this->key) {
$this->next($key - $this->key);
} else {
$this->prev($this->key - $key);
}
return $this;
}