private function getExistingSubpaths(string $subpath): array
    {
        $paths = [];

        foreach ($this->paths as $path) {
            if (is_dir($dir = $path.'/'.$subpath)) {
                $paths[] = $dir;
            }
        }

        if (empty($paths)) {
            throw new \InvalidArgumentException(sprintf('The subpath "%s" does not exists.', $subpath));
        }

        return $paths;
    }
private function getExistingSubpaths(string $subpath): array
    {
        $paths = [];

        foreach ($this->paths as $path) {
            if (is_dir($dir = $path.'/'.$subpath)) {
                $paths[] = $dir;
            }
        }

        if (empty($paths)) {
            throw new \InvalidArgumentException(sprintf('The subpath "%s" does not exists.', $subpath));
        }

        return $paths;
    }
private function getExistingSubpaths ( string $ subpath ) : array { $ paths = [ ] ; foreach ( $ this -> paths as $ path ) { if ( is_dir ( $ dir = $ path . '/' . $ subpath ) ) { $ paths [ ] = $ dir ; } } if ( empty ( $ paths ) ) { throw new \ InvalidArgumentException ( sprintf ( 'The subpath "%s" does not exists.' , $ subpath ) ) ; } return $ paths ; }
@throws \InvalidArgumentException

@return string[]
@throws \ InvalidArgumentException