protected function processManipulation(AssetManipulationList $manipulations)
    {
        // When deleting from stage then check if we should archive assets
        $archive = $this->owner->config()->get('keep_archived_assets');

        // Check deletion policy
        $deletedAssets = $manipulations->getDeletedAssets();
        if ($archive && $this->isVersioned()) {
            // Publish assets
            $this->swapAll($manipulations->getPublicAssets());
            // Archived assets are kept protected
            $this->protectAll($deletedAssets);
        } else {
            // Publish assets
            $this->publishAll($manipulations->getPublicAssets());
            // Otherwise remove all assets
            $this->deleteAll($deletedAssets);
        }

        // Protect assets
        $this->protectAll($manipulations->getProtectedAssets());
    }