// implements the interface method public Environment createOperationContext(Environment parent, Operation operation) { Environment result = createEnvironment(parent); if (result instanceof AbstractEnvironment) { ((AbstractEnvironment) result).setContextOperation(operation); } OCLFactory oclFactory = parent.getOCLFactory(); for (Parameter next : operation.getOwnedParameters()) { // ensure that we use the OCL primitive types wherever possible Variable var = oclFactory.createVariable(); var.setName(next.getName()); var.setType(next.getType()); var.setRepresentedParameter(next); result.addElement(var.getName(), var, true); } return result; }