public function seek($position) { $this->position = $position; if (!$this->valid()) { throw new OutOfBoundsException("invalid seek position ({$position})"); } }