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;
}
}