public function __construct(ApplicationContext $context)
{
$this->context = $context;
$orderedListOfContextNames = [];
$currentContext = $context;
do {
$orderedListOfContextNames[] = (string) $currentContext;
} while ($currentContext = $currentContext->getParent());
$this->orderedListOfContextNames = array_reverse($orderedListOfContextNames);
}