/** * {@inheritdoc} */ public function removeExtraKeys(Expression $expr) { $previousValues = $this->rootModuleFile->getExtraKeys(); $save = false; foreach ($this->rootModuleFile->getExtraKeys() as $key => $value) { if ($expr->evaluate($key)) { $this->rootModuleFile->removeExtraKey($key); $save = true; } } if (!$save) { return; } try { $this->jsonStorage->saveRootModuleFile($this->rootModuleFile); } catch (Exception $e) { $this->rootModuleFile->setExtraKeys($previousValues); throw $e; } }