public function __construct(\Iterator $fileInfoIterator) { foreach ($fileInfoIterator as $fileInfo) { if (!$fileInfo instanceof \SplFileInfo) { throw InvalidFileInfo::fromNonSplFileInfo($fileInfo); } } $this->fileSystemIterator = $fileInfoIterator; }