public function storages(): \Generator
    {
        /** @var Storage $storage */
        foreach ($this->storage->list($this->recursive) as $storage) {

            // apply early lowlevel filters
            foreach ($this->storageFilters as $filter) {
                if (!call_user_func($filter, $storage)) {
                    continue 2; // continue outer storage-loop
                }
            }

            yield $storage;
        }
    }