private function handleOverrideCollection(
        Action $action,
        \ArrayObject $renderInformation,
        PropertyValueBagInterface $propertyValues = null,
        EnvironmentInterface $environment
    ) {
        if (!$propertyValues) {
            return;
        }

        $revertCollection = $this->getCollectionFromSession($action, $environment);
        $this->editCollection(
            $action,
            $this->getCollectionFromSession($action, $environment),
            $propertyValues,
            $renderInformation,
            $environment
        );
        if ($propertyValues->hasNoInvalidPropertyValues()) {
            $this->handleSubmit($action, $environment);
        }
        $this->revertValuesByErrors($action, $revertCollection, $environment);
    }