protected function editCollection(
        Action $action,
        CollectionInterface $collection,
        PropertyValueBagInterface $propertyValueBag,
        \ArrayObject $renderInformation,
        EnvironmentInterface $environment
    ) {
        while ($collection->count() > 0) {
            $model = $collection->shift();

            $persistPropertyValueBag =
                $this->cloneCleanPropertyValueBag($action, $propertyValueBag, $model, $environment);

            $this->resetPropertyValueErrors($persistPropertyValueBag);
            $this->handleEditHandler($action, $model, $persistPropertyValueBag, $environment);
            $this->markPropertyInvalidErrorsByModel($propertyValueBag, $model, $renderInformation, $environment);
            $this->updatePropertyValueBag($action, $model, $persistPropertyValueBag, $propertyValueBag, $environment);
        }
    }