public function search($needle)
{
$aIterator = new \RecursiveArrayIterator($this);
$iterator = new \RecursiveIteratorIterator($aIterator);
while ($iterator->valid()) {
$iterator->current();
if ($iterator->current() === $needle) {
return $aIterator->key();
}
$iterator->next();
}
return false;
}