src/Helper/PathFinder.php
public static function try(array $paths): Storage
    {
        foreach ($paths as $diskpath) {
            if (is_string($diskpath)) {
                if (file_exists($diskpath)) {
                    return new Storage\Disk($diskpath);
                }
            } elseif ($diskpath instanceof Path) {
                if ($diskpath->fileInfo()->isFile() || $diskpath->fileInfo()->isDir()) {
                    return new Storage\Disk($diskpath);
                }
            } elseif ($diskpath instanceof Storage) {
                if ($diskpath->isFile() || $diskpath->isDir()) {
                    return $diskpath;
                }
            } elseif ($diskpath instanceof FileSystem) {
                if ($diskpath->isFile() || $diskpath->isDir()) {
                    return $diskpath->storage();
                }
            } else {
                throw new UnexpectedValueException(sprintf('invalid search-path of type \'%s\'', is_object($diskpath) ? get_class($diskpath) : gettype($diskpath)), 500);
            }
        }

        throw new FileNotFoundException('file not found', 404);
    }
public static function try(array $paths): Storage
    {
        foreach ($paths as $diskpath) {
            if (is_string($diskpath)) {
                if (file_exists($diskpath)) {
                    return new Storage\Disk($diskpath);
                }
            } elseif ($diskpath instanceof Path) {
                if ($diskpath->fileInfo()->isFile() || $diskpath->fileInfo()->isDir()) {
                    return new Storage\Disk($diskpath);
                }
            } elseif ($diskpath instanceof Storage) {
                if ($diskpath->isFile() || $diskpath->isDir()) {
                    return $diskpath;
                }
            } elseif ($diskpath instanceof FileSystem) {
                if ($diskpath->isFile() || $diskpath->isDir()) {
                    return $diskpath->storage();
                }
            } else {
                throw new UnexpectedValueException(sprintf('invalid search-path of type \'%s\'', is_object($diskpath) ? get_class($diskpath) : gettype($diskpath)), 500);
            }
        }

        throw new FileNotFoundException('file not found', 404);
    }
list of possible paths
=> !not components of a single path!
@param  string[]|Path[]|Storage[]|FileSystem[] $paths
@return Storage