@Override
 public AbstractOperation reverse() {
   MultiAttributeMoveOperation operation =
       OperationsFactory.eINSTANCE.createMultiAttributeMoveOperation();
   super.reverse(operation);
   operation.setNewIndex(getOldIndex());
   operation.setOldIndex(getNewIndex());
   operation.setReferencedValue(getReferencedValue());
   return operation;
 }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 @Override
 public void eUnset(int featureID) {
   switch (featureID) {
     case OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__OLD_INDEX:
       setOldIndex(OLD_INDEX_EDEFAULT);
       return;
     case OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__NEW_INDEX:
       setNewIndex(NEW_INDEX_EDEFAULT);
       return;
     case OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__REFERENCED_VALUE:
       setReferencedValue(REFERENCED_VALUE_EDEFAULT);
       return;
   }
   super.eUnset(featureID);
 }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 @Override
 public void eSet(int featureID, Object newValue) {
   switch (featureID) {
     case OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__OLD_INDEX:
       setOldIndex((Integer) newValue);
       return;
     case OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__NEW_INDEX:
       setNewIndex((Integer) newValue);
       return;
     case OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__REFERENCED_VALUE:
       setReferencedValue(newValue);
       return;
   }
   super.eSet(featureID, newValue);
 }