public function sudo(\Closure $callback, RepositoryInterface $outerRepository)
{
++$this->sudoNestingLevel;
try {
$returnValue = $callback($outerRepository);
} catch (Exception $e) {
--$this->sudoNestingLevel;
throw $e;
}
--$this->sudoNestingLevel;
return $returnValue;
}