Source:
<code>protected void commit() { TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(input); ICommand cmd = null; Expression ex = languageEditor.getValue(); String commandLabel = "Save " + getTitle() + " Code"; UMLRTNamedElement facade = getFacade(); if (UML2Util.isEmpty(ex.getBody()) && facade != null && !facade.isInherited()) { final Element elementToDelete = facade.toUML(); IElementEditService provider = ElementEditServiceUtils.getCommandProvider(input); DestroyElementRequest request = new DestroyElementRequest(domain, elementToDelete, false); cmd = provider.getEditCommand(request); } else if (UML2Util.isEmpty(ex.getBody()) && facade != null && facade instanceof UMLRTOpaqueBehavior) { if (facade.isInherited() && !facade.isExcluded()) { cmd = ExclusionCommand.getExclusionCommand(facade.toUML(), true); } } else { CompositeCommand compositeCmd = new CompositeCommand(commandLabel); if (facade != null && facade.isExcluded()) { compositeCmd.compose(ExclusionCommand.getExclusionCommand(facade.toUML(), false)); } ICommand saveCmd = new AbstractTransactionalCommand(domain, commandLabel, Collections.EMPTY_LIST) { @Override protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { <START> commit(ex); <END> return CommandResult.newOKCommandResult(); } }; compositeCmd.compose(saveCmd); cmd = compositeCmd.reduce(); } if (cmd != null && cmd.canExecute()) { ignoreChanges = true; domain.getCommandStack().execute(new GMFtoEMFCommandWrapper(cmd)); ignoreChanges = false; setInput(input); } }</code><technical_language>a while figure this out. Papyrus code name 'ex' for exception variables. 'expr' 'expression' a good name</technical_language>

Target:
protected void commit() { TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(input); ICommand cmd = null; Expression expr = languageEditor.getValue(); String commandLabel = "Save " + getTitle() + " Code"; UMLRTNamedElement facade = getFacade(); if (UML2Util.isEmpty(expr.getBody()) && facade != null && !facade.isInherited()) { final Element elementToDelete = facade.toUML(); IElementEditService provider = ElementEditServiceUtils.getCommandProvider(input); DestroyElementRequest request = new DestroyElementRequest(domain, elementToDelete, false); cmd = provider.getEditCommand(request); } else if (UML2Util.isEmpty(expr.getBody()) && facade != null && facade instanceof UMLRTOpaqueBehavior) { if (facade.isInherited() && !facade.isExcluded()) { cmd = ExclusionCommand.getExclusionCommand(facade.toUML(), true); } } else { CompositeCommand compositeCmd = new CompositeCommand(commandLabel); if (facade != null && facade.isExcluded()) { compositeCmd.compose(ExclusionCommand.getExclusionCommand(facade.toUML(), false)); } ICommand saveCmd = new AbstractTransactionalCommand(domain, commandLabel, Collections.EMPTY_LIST) { @Override protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { commit(expr); return CommandResult.newOKCommandResult(); } }; compositeCmd.compose(saveCmd); cmd = compositeCmd.reduce(); } if (cmd != null && cmd.canExecute()) { ignoreChanges = true; domain.getCommandStack().execute(new GMFtoEMFCommandWrapper(cmd)); ignoreChanges = false; setInput(input); } }