MutableMetaDataRepository mmdr = repository.getMetaDataRepository();
MetaDataRetrieval mdr = mmdr.getMetaDataRetrieval(scopeKey);
if (mdr == null)
throw new IllegalArgumentException("No metadata retrieval for scope: " + scopeKey);
MetaDataItem<ScopedKernelController> controllerItem = mdr.retrieveMetaData(ScopedKernelController.class);
if (controllerItem == null)
throw new IllegalArgumentException("Scoped controller should exist: " + scopeKey);
ScopedKernelController scopedController = controllerItem.getValue();
scopedController.addScopedControllerContext(context);