public function getIterator()
{
$flags = \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS;
$iterator = new \RecursiveDirectoryIterator($this->_dir, $flags);
$iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::SELF_FIRST);
$classes = array();
foreach ($iterator as $file) {
if ($file->isFile() && ($result = $this->_getDomainObjectsFromFile($file->getRealPath()))) {
$classes = array_merge($classes, $result);
}
}
return new \ArrayIterator($classes);
}