spl FileSystemIterator
spl CountableIterator
spl OuterIterator