public void addItem(RunContextItem rci) throws ResultException{
RunContextItem existing = byName.get(rci.getItemName().getNameString());
if (existing != null){
ResultException ex = new ResultException();
ex.addError("Clashing run context item name: " + rci.getItemName());
ex.result.lastResult().moreMessages("Originally defined in module: " + existing.getDefinedInModule().getModuleName());
ex.result.lastResult().moreMessages("Redefined in module: " + rci.getDefinedInModule().getModuleName());
throw(ex);
}
byName.put(rci.getItemName().getNameString(), rci);