private void COMM_COMM_NewClassParticipant(IStructuredSelection selection) { // Assign the context selection variables with the action context // Assign the context selection variable with the action context Object context = selection.iterator().next(); Communication_c v_comm = (Communication_c) context; PersistableModelComponent.ensureCoreDataTypesAvailable(v_comm.getModelRoot()); TransactionUtil.TransactionGroup transactionGroup = TransactionUtil.startTransactionsOnSelectedModelRoots("New Class Participant"); try { // Ensure that actions take place between Verifier Activity executions Ooaofooa.beginSaveOperation(); if (((v_comm != null))) { if (v_comm != null) { v_comm.Newclassparticipant(); } else { Throwable t = new Throwable(); t.fillInStackTrace(); CorePlugin.logError("Attempted to call an operation on a null instance.", t); } } // end critical section Ooaofooa.endSaveOperation(); // catch all exceptions and cancel the transactions } catch (Exception e) { Ooaofooa.endSaveOperation(); TransactionUtil.cancelTransactions(transactionGroup, e); CorePlugin.logError("Transaction: New Class Participant failed", e); // $NON-NLS-1$ } TransactionUtil.endTransactions(transactionGroup); }