@stof, I tried your suggestion, but I'm not able to get recursion anymore :(
I changed ListKeysFilterIterator to extend RecursiveFilterIterator instead of FilterIterator, and changed this line

```php
foreach (new Util\ListKeysFilterIterator(new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::UNIX_PATHS), \RecursiveIteratorIterator::CHILD_FIRST), $this->directory . '/' . $prefix) as $path) {
```

to this

```php
foreach (new Util\ListKeysFilterIterator(new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::UNIX_PATHS), $this->directory . '/' . $prefix) as $path) {
```