protected static function addPlugins(FilesystemInterface $filesystem)
    {
        foreach ([
            new EmptyDir(),
            new GetWithMetadata(),
            new ListFiles(),
            new ListPaths(),
            new ListWith(),
        ] as $plugin) {
            $plugin->setFilesystem($filesystem);
            $filesystem->addPlugin($plugin);
        }
        return $filesystem;
    }