public function recursivelyExtractKey($iterator, $key)
{
$content = [];
foreach ($iterator as $v) {
// Lets see if we find something directly:
$result = ObjectAccess::getPropertyPath($v, $key);
if (null !== $result) {
$content[] = $result;
} elseif (true === is_array($v) || true === $v instanceof \Traversable) {
$content[] = $this->recursivelyExtractKey($v, $key);
}
}
$content = $this->flattenArray($content);
return $content;
}