public function rewind()
{
if ($this->size > 0) {
reset($this->values);
$currentValue = current($this->values);
$valid = true;
while ($currentValue->rewind()->valid() == false && $valid === true) {
next($this->values);
if (($valid = $this->valid()) === true) {
$currentValue = current($this->values);
}
}
$this->key = 0;
if ($valid === true) {
while (in_array($this->current(), $this->skipedValues) === true && $this->valid() === true) {
$this->next();
}
}
}
return $this;
}