protected function restoreInputValues(
        Action $action,
        ModelInterface $model,
        PropertyValueBagInterface $propertyValueBag,
        array $inputValues,
        EnvironmentInterface $environment
    ) {
        $editProperties = $this->getEditPropertiesByModelId($action, ModelId::fromModel($model), $environment);
        if (!$editProperties) {
            return;
        }

        $inputProvider = $environment->getInputProvider();

        unset($_POST);
        foreach (\array_keys($inputValues) as $postName) {
            $inputProvider->setValue($postName, $inputValues[$postName]);
        }

        foreach (\array_keys($editProperties) as $editedPropertyName) {
            $propertyValueBag->setPropertyValue($editedPropertyName, $model->getProperty($editedPropertyName));
        }
    }