From c1548de6374c56e0b59ba06259a285f2e90af643 Mon Sep 17 00:00:00 2001
From: Lars Johansson <lars.johansson@ess.eu>
Date: Wed, 7 Dec 2022 16:59:55 +0100
Subject: [PATCH] Refactor enum handling

Refactor to reduce complexity and have uniform handling of enums.
---
 .../rest/controller/ReportController.java     |    2 +-
 .../names/service/StructuresService.java      |    2 +-
 .../util/{EnumUtil.java => NameCommand.java}  |   14 +-
 .../openepics/names/util/StructureChoice.java |   30 +
 .../names/util/StructureCommand.java          |   30 +
 .../names/util/StructureElementUtil.java      |    3 +-
 .../names/util/ValidateNameElementUtil.java   |   44 +-
 .../util/ValidateStructureElementUtil.java    |  116 +-
 .../names/docker/ITUtilNameElement.java       |   58 +-
 .../names/docker/ITUtilStructureElement.java  |   52 +-
 .../org/openepics/names/docker/NamesIT.java   |  158 +-
 .../names/docker/StructuresDeviceGroupIT.java |  272 +--
 .../names/docker/StructuresDeviceTypeIT.java  |  264 +--
 .../names/docker/StructuresDisciplineIT.java  |  254 +--
 .../names/docker/StructuresSubsystemIT.java   |  264 +--
 .../names/docker/StructuresSystemGroupIT.java |  262 +--
 .../names/docker/StructuresSystemIT.java      |  264 +--
 .../docker/complex/NamesInstanceIndexIT.java  | 1794 ++++++++---------
 .../names/docker/complex/NamesMultipleIT.java |  178 +-
 .../docker/complex/StructuresMultipleIT.java  |  590 +++---
 .../names/util/ValidateUtilTest.java          |   31 +-
 21 files changed, 2364 insertions(+), 2318 deletions(-)
 rename src/main/java/org/openepics/names/util/{EnumUtil.java => NameCommand.java} (68%)
 create mode 100644 src/main/java/org/openepics/names/util/StructureChoice.java
 create mode 100644 src/main/java/org/openepics/names/util/StructureCommand.java

diff --git a/src/main/java/org/openepics/names/rest/controller/ReportController.java b/src/main/java/org/openepics/names/rest/controller/ReportController.java
index 5e46ff80..47647d2e 100644
--- a/src/main/java/org/openepics/names/rest/controller/ReportController.java
+++ b/src/main/java/org/openepics/names/rest/controller/ReportController.java
@@ -36,7 +36,7 @@ import org.openepics.names.rest.beans.response.ResponsePageStructureElements;
 import org.openepics.names.service.NamesService;
 import org.openepics.names.service.StructuresService;
 import org.openepics.names.util.NamingConventionUtil;
-import org.openepics.names.util.StructureElementUtil.StructureChoice;
+import org.openepics.names.util.StructureChoice;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.web.bind.annotation.GetMapping;
diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java
index ec4bbad2..e94bbf06 100644
--- a/src/main/java/org/openepics/names/service/StructuresService.java
+++ b/src/main/java/org/openepics/names/service/StructuresService.java
@@ -57,11 +57,11 @@ import org.openepics.names.util.EssNamingConvention;
 import org.openepics.names.util.HolderIRepositories;
 import org.openepics.names.util.HolderRepositories;
 import org.openepics.names.util.HolderSystemDeviceStructure;
+import org.openepics.names.util.StructureChoice;
 import org.openepics.names.util.StructureElementUtil;
 import org.openepics.names.util.TextUtil;
 import org.openepics.names.util.Utilities;
 import org.openepics.names.util.ValidateStructureElementUtil;
-import org.openepics.names.util.StructureElementUtil.StructureChoice;
 import org.openepics.names.util.StructureUtil;
 import org.openepics.names.util.ValidateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/org/openepics/names/util/EnumUtil.java b/src/main/java/org/openepics/names/util/NameCommand.java
similarity index 68%
rename from src/main/java/org/openepics/names/util/EnumUtil.java
rename to src/main/java/org/openepics/names/util/NameCommand.java
index ae1e9771..c3897aca 100644
--- a/src/main/java/org/openepics/names/util/EnumUtil.java
+++ b/src/main/java/org/openepics/names/util/NameCommand.java
@@ -19,20 +19,12 @@
 package org.openepics.names.util;
 
 /**
- * Utility class to help provide proper enumerations for various purposes.
+ * Kind of name command and operation (server-side).
  *
  * @author Lars Johansson
  */
-public class EnumUtil {
+public enum NameCommand {
 
-    public enum NameChoice      {CREATE, UPDATE, DELETE}
-    public enum StructureChoice {CREATE, UPDATE, DELETE, APPROVE, REJECT, CANCEL}
-
-    /**
-     * This class is not to be instantiated.
-     */
-    private EnumUtil() {
-        throw new IllegalStateException("Utility class");
-    }
+    CREATE, UPDATE, DELETE;
 
 }
diff --git a/src/main/java/org/openepics/names/util/StructureChoice.java b/src/main/java/org/openepics/names/util/StructureChoice.java
new file mode 100644
index 00000000..d2affd2e
--- /dev/null
+++ b/src/main/java/org/openepics/names/util/StructureChoice.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2022 European Spallation Source ERIC.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+package org.openepics.names.util;
+
+/**
+ * Kind of structure choice. Used in how to handle structure entries, in particular for history of structure entries.
+ *
+ * @author Lars Johansson
+ */
+public enum StructureChoice {
+
+    HISTORY, STRUCTURE;
+
+}
diff --git a/src/main/java/org/openepics/names/util/StructureCommand.java b/src/main/java/org/openepics/names/util/StructureCommand.java
new file mode 100644
index 00000000..aa2bf5ea
--- /dev/null
+++ b/src/main/java/org/openepics/names/util/StructureCommand.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2022 European Spallation Source ERIC.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+package org.openepics.names.util;
+
+/**
+ * Kind of structure command and operation (server-side).
+ *
+ * @author Lars Johansson
+ */
+public enum StructureCommand {
+
+    CREATE, UPDATE, DELETE, APPROVE, CANCEL, REJECT;
+
+}
diff --git a/src/main/java/org/openepics/names/util/StructureElementUtil.java b/src/main/java/org/openepics/names/util/StructureElementUtil.java
index 4bb31efe..9d5c8751 100644
--- a/src/main/java/org/openepics/names/util/StructureElementUtil.java
+++ b/src/main/java/org/openepics/names/util/StructureElementUtil.java
@@ -43,8 +43,7 @@ import com.google.common.collect.Lists;
  */
 public class StructureElementUtil {
 
-    public enum StructureChoice {HISTORY, STRUCTURE}
-
+    // used in handling structure attributes - requested, processed
     private static final long THOUSAND_MILLISECONDS = 1000;
 
     /**
diff --git a/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java b/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
index b5a262e2..6e568115 100644
--- a/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
+++ b/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
@@ -54,8 +54,6 @@ public class ValidateNameElementUtil {
     //	       update - uuid, parentsystemstructure, parentdevicestructure (optional), index, description, comment
     //	       delete - uuid,                                                                              comment
 
-    private enum NameChoice {CREATE, UPDATE, DELETE}
-
     /**
      * This class is not to be instantiated.
      */
@@ -97,7 +95,7 @@ public class ValidateNameElementUtil {
      * @param nameElement name element
      */
     public static void validateNameElementInputCreate(NameElementCommand nameElement) {
-        validateNameElementInput(nameElement, NameChoice.CREATE);
+        validateNameElementInput(nameElement, NameCommand.CREATE);
     }
 
     /**
@@ -106,7 +104,7 @@ public class ValidateNameElementUtil {
      * @param nameElement name element
      */
     public static void validateNameElementInputUpdate(NameElementCommand nameElement) {
-        validateNameElementInput(nameElement, NameChoice.UPDATE);
+        validateNameElementInput(nameElement, NameCommand.UPDATE);
     }
 
     /**
@@ -115,16 +113,16 @@ public class ValidateNameElementUtil {
      * @param nameElement name element
      */
     public static void validateNameElementInputDelete(NameElementCommand nameElement) {
-        validateNameElementInput(nameElement, NameChoice.DELETE);
+        validateNameElementInput(nameElement, NameCommand.DELETE);
     }
 
     /**
      * Validate name element parameters (input).
      *
      * @param nameElement name element
-     * @param nameChoice name choice
+     * @param nameCommand name command
      */
-    private static void validateNameElementInput(NameElementCommand nameElement, NameChoice nameChoice) {
+    private static void validateNameElementInput(NameElementCommand nameElement, NameCommand nameCommand) {
         // attributes
         //     uuid                            - required if not create, required empty if create
         //     parentsystemstructure (uuid)
@@ -133,7 +131,7 @@ public class ValidateNameElementUtil {
         //     description
         //     comment
 
-        if (ValidateUtil.isAnyNull(nameElement, nameChoice)) {
+        if (ValidateUtil.isAnyNull(nameElement, nameCommand)) {
             return;
         }
 
@@ -145,14 +143,14 @@ public class ValidateNameElementUtil {
         String description = nameElement.getDescription();
         String comment = nameElement.getComment();
 
-        if (NameChoice.CREATE.equals(nameChoice)) {
+        if (NameCommand.CREATE.equals(nameCommand)) {
             ExceptionUtil.validateConditionInputNotEmptyException(uuid == null,
                     TextUtil.VALUE_IS_NOT_EMPTY, uuid != null ? uuid.toString() : null, TextUtil.UUID);
         } else {
             ValidateUtil.validateInputUuid(uuid != null ? uuid.toString() : null);
         }
 
-        if (!NameChoice.DELETE.equals(nameChoice)) {
+        if (!NameCommand.DELETE.equals(nameCommand)) {
             ExceptionUtil.validateConditionInputNotAvailableException(parentSystemstructure != null,
                     TextUtil.VALUE_IS_NOT_AVAILABLE, nameElement.toString(), TextUtil.PARENTSYSTEMSTRUCTURE);
 
@@ -183,7 +181,7 @@ public class ValidateNameElementUtil {
      * @param holder holder
      */
     public static void validateNameElementDataCreate(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
-        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameChoice.CREATE);
+        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.CREATE);
     }
 
     /**
@@ -196,7 +194,7 @@ public class ValidateNameElementUtil {
      * @param holder holder
      */
     public static void validateNameElementDataUpdate(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
-        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameChoice.UPDATE);
+        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.UPDATE);
     }
 
     /**
@@ -209,7 +207,7 @@ public class ValidateNameElementUtil {
      * @param holder holder
      */
     public static void validateNameElementDataDelete(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
-        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameChoice.DELETE);
+        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.DELETE);
     }
 
     /**
@@ -220,9 +218,9 @@ public class ValidateNameElementUtil {
      * @param holderIRepositories holder repositories
      * @param nameRepository name repository
      * @param holder holder
-     * @param nameChoice name choice
+     * @param nameCommand name command
      */
-    private static void validateNameElementData(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder, NameChoice nameChoice) {
+    private static void validateNameElementData(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder, NameCommand nameCommand) {
         // attributes
         //     uuid
         //     parentsystemstructure
@@ -236,7 +234,7 @@ public class ValidateNameElementUtil {
         //    ( - system structure uuid, device structure uuid )
         //      - system structure uuid, device structure uuid, index
 
-        if (ValidateUtil.isAnyNull(nameElement, namingConvention, holderIRepositories, nameRepository, holder, nameChoice)) {
+        if (ValidateUtil.isAnyNull(nameElement, namingConvention, holderIRepositories, nameRepository, holder, nameCommand)) {
             return;
         }
 
@@ -245,7 +243,7 @@ public class ValidateNameElementUtil {
         // name
         //     update, delete - uuid available, not deleted
         //     retrieve for uuid and check
-        if (ValidateUtil.isAnyEqual(nameChoice, NameChoice.UPDATE, NameChoice.DELETE)) {
+        if (ValidateUtil.isAnyEqual(nameCommand, NameCommand.UPDATE, NameCommand.DELETE)) {
             List<Name> names = nameRepository.readNames(false, nameElement.getUuid().toString(), null, null, null, null, null, null);
             ExceptionUtil.validateConditionDataNotCorrectException(ValidateUtil.isSize(names, 1),
                     TextUtil.VALUE_IS_NOT_CORRECT, details, TextUtil.UUID);
@@ -266,7 +264,7 @@ public class ValidateNameElementUtil {
         UUID parentDevicestructure = nameElement.getParentdevicestructure();
         String index = nameElement.getIndex();
 
-        if (ValidateUtil.isAnyEqual(nameChoice, NameChoice.CREATE, NameChoice.UPDATE)) {
+        if (ValidateUtil.isAnyEqual(nameCommand, NameCommand.CREATE, NameCommand.UPDATE)) {
             // systemgroup, system, subsystem - in repository
             //     found
             //     not deleted
@@ -332,25 +330,25 @@ public class ValidateNameElementUtil {
             // name
             //     ok with same name, name equivalence if same uuid
             List<Name> names = nameRepository.readNames(false, null, derivedName, null, null, null, null, null);
-            if (NameChoice.CREATE.equals(nameChoice)) {
+            if (NameCommand.CREATE.equals(nameCommand)) {
                 condition = ValidateUtil.isNullOrEmpty(names);
             } else {
-                // NameChoice.UPDATE.equals(nameChoice)
+                // NameCommand.UPDATE.equals(nameCommand)
                 condition = ValidateUtil.isNullOrEmpty(names) || names.size() == 1 && names.get(0).getUuid().equals(uuid);
             }
             ExceptionUtil.validateConditionDataExistException(condition,
                     TextUtil.CONVENTION_NAME_EXISTS, details, TextUtil.PARENTSYSTEMSTRUCTURE);
 
             names = nameRepository.readNames(false, null, null, namingConvention.equivalenceClassRepresentative(derivedName), null, null, null, null);
-            if (NameChoice.CREATE.equals(nameChoice)) {
+            if (NameCommand.CREATE.equals(nameCommand)) {
                 condition = ValidateUtil.isNullOrEmpty(names);
             } else {
-                // NameChoice.UPDATE.equals(nameChoice)
+                // NameCommand.UPDATE.equals(nameCommand)
                 condition = ValidateUtil.isNullOrEmpty(names) || names.size() == 1 && names.get(0).getUuid().equals(uuid);
             }
             ExceptionUtil.validateConditionDataExistException(condition,
                     TextUtil.CONVENTION_NAME_EQUIVALENCE_EXISTS, details, TextUtil.PARENTSYSTEMSTRUCTURE);
-        } else if (NameChoice.DELETE.equals(nameChoice)) {
+        } else if (NameCommand.DELETE.equals(nameCommand)) {
             // n.a.
             //     uuid    - already handled
             //     comment - already handled
diff --git a/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java b/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java
index 94792086..296df25b 100644
--- a/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java
+++ b/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java
@@ -54,8 +54,6 @@ public class ValidateStructureElementUtil {
     //	       update - uuid, type, parent, name, mnemonic, description, comment
     //	       delete - uuid, type                                       comment
 
-    private enum StructureChoice {CREATE, UPDATE, DELETE, APPROVE, REJECT, CANCEL}
-
     /**
      * This class is not to be instantiated.
      */
@@ -102,7 +100,7 @@ public class ValidateStructureElementUtil {
      * @param structureElement structure element
      */
     public static void validateStructureElementInputCreate(StructureElementCommand structureElement, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElement, namingConvention, StructureChoice.CREATE);
+        validateStructureElementInput(structureElement, namingConvention, StructureCommand.CREATE);
     }
 
     /**
@@ -111,7 +109,7 @@ public class ValidateStructureElementUtil {
      * @param structureElement structure element
      */
     public static void validateStructureElementInputUpdate(StructureElementCommand structureElement, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElement, namingConvention, StructureChoice.UPDATE);
+        validateStructureElementInput(structureElement, namingConvention, StructureCommand.UPDATE);
     }
 
     /**
@@ -120,7 +118,7 @@ public class ValidateStructureElementUtil {
      * @param structureElement structure element
      */
     public static void validateStructureElementInputDelete(StructureElementCommand structureElement, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElement, namingConvention, StructureChoice.DELETE);
+        validateStructureElementInput(structureElement, namingConvention, StructureCommand.DELETE);
     }
 
     /**
@@ -129,7 +127,7 @@ public class ValidateStructureElementUtil {
      * @param structureElement structure element
      */
     public static void validateStructureElementInputApprove(StructureElementCommand structureElement, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElement, namingConvention, StructureChoice.APPROVE);
+        validateStructureElementInput(structureElement, namingConvention, StructureCommand.APPROVE);
     }
 
     /**
@@ -138,7 +136,7 @@ public class ValidateStructureElementUtil {
      * @param structureElement structure element
      */
     public static void validateStructureElementInputCancel(StructureElementCommand structureElement, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElement, namingConvention, StructureChoice.CANCEL);
+        validateStructureElementInput(structureElement, namingConvention, StructureCommand.CANCEL);
     }
 
     /**
@@ -147,16 +145,16 @@ public class ValidateStructureElementUtil {
      * @param structureElement structure element
      */
     public static void validateStructureElementInputReject(StructureElementCommand structureElement, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElement, namingConvention, StructureChoice.REJECT);
+        validateStructureElementInput(structureElement, namingConvention, StructureCommand.REJECT);
     }
 
     /**
      * Validate structure element parameters (input).
      *
      * @param structureElement structure element
-     * @param structureChoice structure choice
+     * @param structureCommand structure command
      */
-    private static void validateStructureElementInput(StructureElementCommand structureElement, EssNamingConvention namingConvention, StructureChoice structureChoice) {
+    private static void validateStructureElementInput(StructureElementCommand structureElement, EssNamingConvention namingConvention, StructureCommand structureCommand) {
         // check structure element input
         //     uuid             - required if not create, required empty if create
         //     type             - required
@@ -166,7 +164,7 @@ public class ValidateStructureElementUtil {
         //     description      - required
         //     comment          - required
 
-        if (ValidateUtil.isAnyNull(structureElement, structureChoice)) {
+        if (ValidateUtil.isAnyNull(structureElement, structureCommand)) {
             return;
         }
 
@@ -179,7 +177,7 @@ public class ValidateStructureElementUtil {
         String description = structureElement.getDescription();
         String comment = structureElement.getComment();
 
-        if (StructureChoice.CREATE.equals(structureChoice)) {
+        if (StructureCommand.CREATE.equals(structureCommand)) {
             ExceptionUtil.validateConditionInputNotEmptyException(uuid == null,
                     TextUtil.VALUE_IS_NOT_EMPTY, uuid != null ? uuid.toString() : null, TextUtil.UUID);
         } else {
@@ -188,7 +186,7 @@ public class ValidateStructureElementUtil {
 
         ValidateUtil.validateInputType(type);
 
-        if (!StructureChoice.DELETE.equals(structureChoice)) {
+        if (!StructureCommand.DELETE.equals(structureCommand)) {
             if (ValidateUtil.isAnyEqual(type, Type.SYSTEM, Type.SUBSYSTEM, Type.DEVICEGROUP, Type.DEVICETYPE)) {
                 ExceptionUtil.validateConditionInputNotAvailableException(parentUuid != null,
                         TextUtil.PARENT_IS_NOT_AVAILABLE, structureElement.toString(), TextUtil.PARENT);
@@ -221,8 +219,8 @@ public class ValidateStructureElementUtil {
      * @param holder holder
      */
     public static void validateStructureElementDataCreate(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder) {
-        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureChoice.CREATE);
-        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureChoice.CREATE);
+        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureCommand.CREATE);
+        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureCommand.CREATE);
     }
 
     /**
@@ -234,8 +232,8 @@ public class ValidateStructureElementUtil {
      * @param holder holder
      */
     public static void validateStructureElementDataUpdate(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder) {
-        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureChoice.UPDATE);
-        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureChoice.UPDATE);
+        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureCommand.UPDATE);
+        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureCommand.UPDATE);
     }
 
     /**
@@ -247,8 +245,8 @@ public class ValidateStructureElementUtil {
      * @param holder holder
      */
     public static void validateStructureElementDataDelete(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder) {
-        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureChoice.DELETE);
-        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureChoice.DELETE);
+        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureCommand.DELETE);
+        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureCommand.DELETE);
     }
 
     /**
@@ -260,8 +258,8 @@ public class ValidateStructureElementUtil {
      * @param holder holder
      */
     public static void validateStructureElementDataApprove(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder) {
-        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureChoice.APPROVE);
-        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureChoice.APPROVE);
+        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureCommand.APPROVE);
+        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureCommand.APPROVE);
     }
 
     /**
@@ -273,8 +271,8 @@ public class ValidateStructureElementUtil {
      * @param holder holder
      */
     public static void validateStructureElementDataCancel(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder) {
-        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureChoice.CANCEL);
-        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureChoice.CANCEL);
+        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureCommand.CANCEL);
+        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureCommand.CANCEL);
     }
 
     /**
@@ -286,8 +284,8 @@ public class ValidateStructureElementUtil {
      * @param holder holder
      */
     public static void validateStructureElementDataReject(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder) {
-        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureChoice.REJECT);
-        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureChoice.REJECT);
+        validateStructureElementDataInItself(structureElement, namingConvention, holderRepositories, holder, StructureCommand.REJECT);
+        validateStructureElementDataRelativeOtherData(structureElement, namingConvention, holderRepositories, holder, StructureCommand.REJECT);
     }
 
     /**
@@ -297,9 +295,9 @@ public class ValidateStructureElementUtil {
      * @param namingConvention
      * @param holderRepositories
      * @param holder
-     * @param structureChoice
+     * @param structureCommand
      */
-    public static void validateStructureElementDataInItself(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder, StructureChoice structureChoice) {
+    public static void validateStructureElementDataInItself(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder, StructureCommand structureCommand) {
         // check structure element data in itself
         //     update, delete
         //         definitely (not possibly)
@@ -308,7 +306,7 @@ public class ValidateStructureElementUtil {
         //     approve, reject, cancel
         //         uuid - pending, latest, not deleted  - list size 1
 
-        if (ValidateUtil.isAnyNull(structureElement, namingConvention, holderRepositories, holder, structureChoice)) {
+        if (ValidateUtil.isAnyNull(structureElement, namingConvention, holderRepositories, holder, structureCommand)) {
             return;
         }
 
@@ -331,13 +329,13 @@ public class ValidateStructureElementUtil {
 
         if (ValidateUtil.isAnyEqual(type, Type.SYSTEMGROUP, Type.DISCIPLINE) && parentUuid != null) {
             throw ExceptionUtil.createDataNotCorrectException(TextUtil.PARENT_IS_NOT_CORRECT, details, field);
-        } else if (ValidateUtil.isAnyEqual(structureChoice, StructureChoice.UPDATE, StructureChoice.DELETE)) {
+        } else if (ValidateUtil.isAnyEqual(structureCommand, StructureCommand.UPDATE, StructureCommand.DELETE)) {
             validateStructuresStatusSize0(uuid, type, Status.PENDING, null,
                     holderRepositories, message, details, field);
 
             validateStructuresStatusSize1(uuid, type, Status.APPROVED, Boolean.FALSE,
                     holderRepositories, message, details, field);
-        } else if (ValidateUtil.isAnyEqual(structureChoice, StructureChoice.APPROVE, StructureChoice.CANCEL, StructureChoice.REJECT)) {
+        } else if (ValidateUtil.isAnyEqual(structureCommand, StructureCommand.APPROVE, StructureCommand.CANCEL, StructureCommand.REJECT)) {
             validateStructuresStatusSize1(uuid, type, Status.PENDING, null,
                     holderRepositories, message, details, field);
         }
@@ -380,9 +378,9 @@ public class ValidateStructureElementUtil {
      * @param namingConvention naming convention
      * @param holderRepositories holder repositories
      * @param holder holder
-     * @param structureChoice structure choice
+     * @param structureCommand structure command
      */
-    public static void validateStructureElementDataRelativeOtherData(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder, StructureChoice structureChoice) {
+    public static void validateStructureElementDataRelativeOtherData(StructureElementCommand structureElement, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderSystemDeviceStructure holder, StructureCommand structureCommand) {
         // check structure element data in relation to other data
         //     create, update
         //         parent uuid          - (if applicable) approved, latest, not deleted
@@ -398,7 +396,7 @@ public class ValidateStructureElementUtil {
         //         additional checks if names are affected
         //         comment not same as previous comment
 
-        if (ValidateUtil.isAnyNull(structureElement, namingConvention, holderRepositories, holder, structureChoice)) {
+        if (ValidateUtil.isAnyNull(structureElement, namingConvention, holderRepositories, holder, structureCommand)) {
             return;
         }
 
@@ -418,18 +416,18 @@ public class ValidateStructureElementUtil {
         //     approve
         //         entry uuid, status
 
-        if (ValidateUtil.isAnyEqual(structureChoice, StructureChoice.CREATE, StructureChoice.UPDATE)) {
+        if (ValidateUtil.isAnyEqual(structureCommand, StructureCommand.CREATE, StructureCommand.UPDATE)) {
             if (Type.SYSTEMGROUP.equals(type)) {
                 // note rules for mnemonic for system group
                 if (!StringUtils.isEmpty(mnemonic)) {
                     // status, mnemonic
                     message = TextUtil.SYSTEMGROUP_IS_NOT_CORRECT;
                     validateStructuresStatusMnemonic(uuid, type, parentUuid, mnemonic,
-                            namingConvention, holderRepositories, structureChoice, message, details, field);
+                            namingConvention, holderRepositories, structureCommand, message, details, field);
 
                     // status, mnemonic equivalence
                     validateStructuresStatusMnemonicequivalence(uuid, type, parentUuid, mnemonic,
-                            namingConvention, holderRepositories, structureChoice, message, details, field);
+                            namingConvention, holderRepositories, structureCommand, message, details, field);
                 }
             } else if (Type.SYSTEM.equals(type)) {
                 // status, parent
@@ -440,11 +438,11 @@ public class ValidateStructureElementUtil {
                 // status, mnemonic
                 message = TextUtil.SYSTEM_IS_NOT_CORRECT;
                 validateStructuresStatusMnemonic(uuid, type, parentUuid, mnemonic,
-                        namingConvention, holderRepositories, structureChoice, message, details, field);
+                        namingConvention, holderRepositories, structureCommand, message, details, field);
 
                 // status, mnemonic equivalence
                 validateStructuresStatusMnemonicequivalence(uuid, type, parentUuid, mnemonic,
-                        namingConvention, holderRepositories, structureChoice, message, details, field);
+                        namingConvention, holderRepositories, structureCommand, message, details, field);
             } else if (Type.SUBSYSTEM.equals(type)) {
                 // status, parent
                 message = TextUtil.SYSTEM_IS_NOT_CORRECT;
@@ -454,21 +452,21 @@ public class ValidateStructureElementUtil {
                 // status, mnemonic
                 message = TextUtil.SUBSYSTEM_IS_NOT_CORRECT;
                 validateStructuresStatusMnemonic(uuid, type, parentUuid, mnemonic,
-                        namingConvention, holderRepositories, structureChoice, message, details, field);
+                        namingConvention, holderRepositories, structureCommand, message, details, field);
 
                 // status, mnemonic equivalence
                 validateStructuresStatusMnemonicequivalence(uuid, type, parentUuid, mnemonic,
-                        namingConvention, holderRepositories, structureChoice, message, details, field);
+                        namingConvention, holderRepositories, structureCommand, message, details, field);
             } else if (Type.DISCIPLINE.equals(type)) {
                 message = TextUtil.DISCIPLINE_IS_NOT_CORRECT;
 
                 // status, mnemonic
                 validateStructuresStatusMnemonic(uuid, type, parentUuid, mnemonic,
-                        namingConvention, holderRepositories, structureChoice, message, details, field);
+                        namingConvention, holderRepositories, structureCommand, message, details, field);
 
                 // status, mnemonic equivalence
                 validateStructuresStatusMnemonicequivalence(uuid, type, parentUuid, mnemonic,
-                        namingConvention, holderRepositories, structureChoice, message, details, field);
+                        namingConvention, holderRepositories, structureCommand, message, details, field);
             } else if (Type.DEVICEGROUP.equals(type)) {
                 // status, parent
                 message = TextUtil.DISCIPLINE_IS_NOT_CORRECT;
@@ -490,13 +488,13 @@ public class ValidateStructureElementUtil {
                 // status, mnemonic
                 message = TextUtil.DEVICETYPE_IS_NOT_CORRECT;
                 validateStructuresStatusMnemonic(uuid, type, parentUuid, mnemonic,
-                        namingConvention, holderRepositories, structureChoice, message, details, field);
+                        namingConvention, holderRepositories, structureCommand, message, details, field);
 
                 // status, mnemonic equivalence
                 validateStructuresStatusMnemonicequivalence(uuid, type, parentUuid, mnemonic,
-                        namingConvention, holderRepositories, structureChoice, message, details, field);
+                        namingConvention, holderRepositories, structureCommand, message, details, field);
             }
-        } else if (StructureChoice.APPROVE.equals(structureChoice)) {
+        } else if (StructureCommand.APPROVE.equals(structureCommand)) {
             // possibly additional checks to ensure (status, mnemonic) and (status, mnemonic equivalence)
             // however that would be duplicate checks as already checked at time of create, update
 
@@ -565,7 +563,7 @@ public class ValidateStructureElementUtil {
                 getStructuresParentSize(type, parent, status, deleted, holderRepositories) == 1, message, details, field);
     }
     private static void validateStructuresStatusMnemonic(UUID uuid, Type type, UUID parent, String mnemonic,
-            EssNamingConvention namingConvention, HolderRepositories holderRepositories, StructureChoice structureChoice,
+            EssNamingConvention namingConvention, HolderRepositories holderRepositories, StructureCommand structureCommand,
             String message, String details, String field){
         // about finding out if structures are in place in order for structure operation to be allowed
 
@@ -573,15 +571,15 @@ public class ValidateStructureElementUtil {
         List<UUID> listUuid = null;
 
         listUuid = getStructures(type, parent, mnemonic, Status.PENDING, false, false, namingConvention, holderRepositories);
-        validateConditionIfStructureChoice(StructureChoice.CREATE, structureChoice, listUuid.isEmpty(), message, details, field);
-        validateConditionIfStructureChoice(StructureChoice.UPDATE, structureChoice, ValidateUtil.isEmptyOrEquals(listUuid, uuid), message, details, field);
+        validateConditionIfStructureCommand(StructureCommand.CREATE, structureCommand, listUuid.isEmpty(), message, details, field);
+        validateConditionIfStructureCommand(StructureCommand.UPDATE, structureCommand, ValidateUtil.isEmptyOrEquals(listUuid, uuid), message, details, field);
 
         listUuid = getStructures(type, parent, mnemonic, Status.APPROVED, false, false, namingConvention, holderRepositories);
-        validateConditionIfStructureChoice(StructureChoice.CREATE, structureChoice, listUuid.isEmpty(), message, details, field);
-        validateConditionIfStructureChoice(StructureChoice.UPDATE, structureChoice, ValidateUtil.isEmptyOrEquals(listUuid, uuid), message, details, field);
+        validateConditionIfStructureCommand(StructureCommand.CREATE, structureCommand, listUuid.isEmpty(), message, details, field);
+        validateConditionIfStructureCommand(StructureCommand.UPDATE, structureCommand, ValidateUtil.isEmptyOrEquals(listUuid, uuid), message, details, field);
     }
     private static void validateStructuresStatusMnemonicequivalence(UUID uuid, Type type, UUID parent, String mnemonic,
-            EssNamingConvention namingConvention, HolderRepositories holderRepositories, StructureChoice structureChoice,
+            EssNamingConvention namingConvention, HolderRepositories holderRepositories, StructureCommand structureCommand,
             String message, String details, String field){
         // about finding out if structures are in place in order for structure operation to be allowed
 
@@ -589,12 +587,12 @@ public class ValidateStructureElementUtil {
         List<UUID> listUuid = null;
 
         listUuid = getStructures(type, parent, mnemonic, Status.PENDING, false, true, namingConvention, holderRepositories);
-        validateConditionIfStructureChoice(StructureChoice.CREATE, structureChoice, listUuid.isEmpty(), message, details, field);
-        validateConditionIfStructureChoice(StructureChoice.UPDATE, structureChoice, ValidateUtil.isEmptyOrEquals(listUuid, uuid), message, details, field);
+        validateConditionIfStructureCommand(StructureCommand.CREATE, structureCommand, listUuid.isEmpty(), message, details, field);
+        validateConditionIfStructureCommand(StructureCommand.UPDATE, structureCommand, ValidateUtil.isEmptyOrEquals(listUuid, uuid), message, details, field);
 
         listUuid = getStructures(type, parent, mnemonic, Status.APPROVED, false, true, namingConvention, holderRepositories);
-        validateConditionIfStructureChoice(StructureChoice.CREATE, structureChoice, listUuid.isEmpty(), message, details, field);
-        validateConditionIfStructureChoice(StructureChoice.UPDATE, structureChoice, ValidateUtil.isEmptyOrEquals(listUuid, uuid), message, details, field);
+        validateConditionIfStructureCommand(StructureCommand.CREATE, structureCommand, listUuid.isEmpty(), message, details, field);
+        validateConditionIfStructureCommand(StructureCommand.UPDATE, structureCommand, ValidateUtil.isEmptyOrEquals(listUuid, uuid), message, details, field);
     }
     private static int getStructuresParentSize(Type type, UUID parent, Status status, Boolean deleted,
             HolderRepositories holderRepositories) {
@@ -906,11 +904,11 @@ public class ValidateStructureElementUtil {
     }
 
     /**
-     * Validate condition if precondition (StructureChoice) is fulfilled and
+     * Validate condition if precondition (StructureCommand) is fulfilled and
      * throw data conflict exception with reason if validation fails.
      *
-     * @param expected expected structure choice
-     * @param actual actual structure choice
+     * @param expected expected structure command
+     * @param actual actual structure command
      * @param condition condition
      * @param message message
      * @param details details
@@ -918,7 +916,7 @@ public class ValidateStructureElementUtil {
      *
      * @see DataConflictException
      */
-    private static void validateConditionIfStructureChoice(StructureChoice expected, StructureChoice actual,
+    private static void validateConditionIfStructureCommand(StructureCommand expected, StructureCommand actual,
             boolean condition, String message, String details, String field) {
         validateConditionIfPrecondition(expected != null && expected.equals(actual),
                 condition, message, details, field);
diff --git a/src/test/java/org/openepics/names/docker/ITUtilNameElement.java b/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
index b8fd8ef8..b40d692d 100644
--- a/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
+++ b/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
@@ -40,7 +40,7 @@ import org.openepics.names.rest.beans.element.NameElementCommand;
 import org.openepics.names.rest.beans.response.ResponseBoolean;
 import org.openepics.names.rest.beans.response.ResponseBooleanList;
 import org.openepics.names.rest.beans.response.ResponsePageNameElements;
-import org.openepics.names.util.EnumUtil.NameChoice;
+import org.openepics.names.util.NameCommand;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -389,11 +389,11 @@ public class ITUtilNameElement {
      * but instead assert response code (possibly also a non-empty message).
      *
      * @param json json
-     * @param nameChoice name choice
+     * @param nameCommand name command
      * @param responseCode response code
      */
-    public static void assertValidate(String json, NameChoice nameChoice, int responseCode) {
-        assertValidate(AuthorizationChoice.NONE, json, nameChoice, responseCode, Boolean.FALSE, Boolean.FALSE);
+    public static void assertValidate(String json, NameCommand nameCommand, int responseCode) {
+        assertValidate(AuthorizationChoice.NONE, json, nameCommand, responseCode, Boolean.FALSE, Boolean.FALSE);
     }
     /**
      * Utility method to (try to) validate a name element from given json and assert expected response.
@@ -401,13 +401,13 @@ public class ITUtilNameElement {
      * but instead assert response code (possibly also a non-empty message).
      *
      * @param json json
-     * @param nameChoice name choice
+     * @param nameCommand name command
      * @param responseCode response code
      * @param expected expected
      * @param expectedMessageEmpty expected message empty
      */
-    public static void assertValidate(String json, NameChoice nameChoice, int responseCode, Boolean expected, Boolean expectedMessageEmpty) {
-        assertValidate(AuthorizationChoice.NONE, json, nameChoice, responseCode, expected, expectedMessageEmpty);
+    public static void assertValidate(String json, NameCommand nameCommand, int responseCode, Boolean expected, Boolean expectedMessageEmpty) {
+        assertValidate(AuthorizationChoice.NONE, json, nameCommand, responseCode, expected, expectedMessageEmpty);
     }
     /**
      * Utility method to (try to) validate a name element from given json and assert expected response.
@@ -416,13 +416,13 @@ public class ITUtilNameElement {
      *
      * @param authorizationChoice authorization choice (none, user, admin)
      * @param json json
-     * @param nameChoice name choice
+     * @param nameCommand name command
      * @param responseCode response code
      * @param expected expected
      * @param expectedMessageEmpty expected message empty
      */
-    public static void assertValidate(AuthorizationChoice authorizationChoice, String json, NameChoice nameChoice, int responseCode, Boolean expected, Boolean expectedMessageEmpty) {
-        String validatePath = getValidatePath(nameChoice);
+    public static void assertValidate(AuthorizationChoice authorizationChoice, String json, NameCommand nameCommand, int responseCode, Boolean expected, Boolean expectedMessageEmpty) {
+        String validatePath = getValidatePath(nameCommand);
 
         try {
             String[] response = null;
@@ -447,44 +447,44 @@ public class ITUtilNameElement {
      * Utility method to validate and assert expected response.
      *
      * @param nameElement name element
-     * @param nameChoice name choice
+     * @param nameCommand name command
      * @param index index
      * @param expected expected response
      */
-    public static void assertValidate(NameElementCommand nameElement, NameChoice nameChoice, String index, Boolean expected) {
+    public static void assertValidate(NameElementCommand nameElement, NameCommand nameCommand, String index, Boolean expected) {
         nameElement.setIndex(index);
-        assertValidate(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement}, nameChoice, expected);
+        assertValidate(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement}, nameCommand, expected);
     }
     /**
      * Utility method to validate name element and assert expected response.
      *
      * @param nameElement name element
-     * @param nameChoice name choice
+     * @param nameCommand name command
      * @param expected expected response
      */
-    public static void assertValidate(NameElementCommand nameElement, NameChoice nameChoice, Boolean expected) {
-        assertValidate(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement}, nameChoice, expected);
+    public static void assertValidate(NameElementCommand nameElement, NameCommand nameCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement}, nameCommand, expected);
     }
     /**
      * Utility method to validate name elements and assert expected response.
      *
      * @param nameElements name elements
-     * @param nameChoice name choice
+     * @param nameCommand name command
      * @param expected expected response
      */
-    public static void assertValidate(NameElementCommand[] nameElements, NameChoice nameChoice, Boolean expected) {
-        assertValidate(AuthorizationChoice.NONE, nameElements, nameChoice, expected);
+    public static void assertValidate(NameElementCommand[] nameElements, NameCommand nameCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, nameElements, nameCommand, expected);
     }
     /**
      * Utility method to validate name elements and assert expected response.
      *
      * @param authorizationChoice authorization choice (none, user, admin)
      * @param nameElements name elements
-     * @param nameChoice name choice
+     * @param nameCommand name command
      * @param expected expected response
      */
-    public static void assertValidate(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements, NameChoice nameChoice, Boolean expected) {
-        String path = getValidatePath(nameChoice);
+    public static void assertValidate(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements, NameCommand nameCommand, Boolean expected) {
+        String path = getValidatePath(nameCommand);
 
         try {
             String[] response = null;
@@ -502,14 +502,14 @@ public class ITUtilNameElement {
     }
 
     /**
-     * Utility method to return validate path for name choice.
+     * Utility method to return validate path for name command.
      *
-     * @param nameChoice name choice
+     * @param nameCommand name command
      * @return validate path
      */
-    private static String getValidatePath(NameChoice nameChoice) {
+    private static String getValidatePath(NameCommand nameCommand) {
         String validatePath = "";
-        switch (nameChoice) {
+        switch (nameCommand) {
             case CREATE:
                 validatePath = "/validatecreate";
                 break;
@@ -601,7 +601,7 @@ public class ITUtilNameElement {
      * @return created name element
      */
     public static NameElement[] assertCreate(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements) {
-        String path = getValidatePath(NameChoice.CREATE);
+        String path = getValidatePath(NameCommand.CREATE);
 
         try {
             String[] response = null;
@@ -663,7 +663,7 @@ public class ITUtilNameElement {
      * @return updated name element
      */
     public static NameElement[] assertUpdate(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements) {
-        String path = getValidatePath(NameChoice.UPDATE);
+        String path = getValidatePath(NameCommand.UPDATE);
 
         try {
             String[] response = null;
@@ -722,7 +722,7 @@ public class ITUtilNameElement {
      * @return deleted name element
      */
     public static NameElement[] assertDelete(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements) {
-        String path = getValidatePath(NameChoice.DELETE);
+        String path = getValidatePath(NameCommand.DELETE);
 
         try {
             String[] response = null;
diff --git a/src/test/java/org/openepics/names/docker/ITUtilStructureElement.java b/src/test/java/org/openepics/names/docker/ITUtilStructureElement.java
index f7e0ad2f..00f69e36 100644
--- a/src/test/java/org/openepics/names/docker/ITUtilStructureElement.java
+++ b/src/test/java/org/openepics/names/docker/ITUtilStructureElement.java
@@ -41,7 +41,7 @@ import org.openepics.names.rest.beans.element.StructureElementCommand;
 import org.openepics.names.rest.beans.response.ResponseBoolean;
 import org.openepics.names.rest.beans.response.ResponseBooleanList;
 import org.openepics.names.rest.beans.response.ResponsePageStructureElements;
-import org.openepics.names.util.EnumUtil.StructureChoice;
+import org.openepics.names.util.StructureCommand;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -375,11 +375,11 @@ public class ITUtilStructureElement {
      * but instead assert response code (possibly also a non-empty message).
      *
      * @param json json
-     * @param structureChoice structure choice
+     * @param structureCommand structure command
      * @param responseCode response code
      */
-    public static void assertValidate(String json, StructureChoice structureChoice, int responseCode) {
-        assertValidate(AuthorizationChoice.NONE, json, structureChoice, responseCode);
+    public static void assertValidate(String json, StructureCommand structureCommand, int responseCode) {
+        assertValidate(AuthorizationChoice.NONE, json, structureCommand, responseCode);
     }
     /**
      * Utility method to (try to) validate a structure element from given json and assert expected response.
@@ -388,11 +388,11 @@ public class ITUtilStructureElement {
      *
      * @param authorizationChoice authorization choice (none, user, admin)
      * @param json json
-     * @param structureChoice structure choice
+     * @param structureCommand structure command
      * @param responseCode response code
      */
-    public static void assertValidate(AuthorizationChoice authorizationChoice, String json, StructureChoice structureChoice, int responseCode) {
-        String validatePath = getValidatePath(structureChoice);
+    public static void assertValidate(AuthorizationChoice authorizationChoice, String json, StructureCommand structureCommand, int responseCode) {
+        String validatePath = getValidatePath(structureCommand);
 
         try {
             String[] response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.STRUCTURES, validatePath, json));
@@ -412,32 +412,32 @@ public class ITUtilStructureElement {
      * Utility method to validate structure element and assert expected response.
      *
      * @param structureElement structure element
-     * @param structureChoice structure choice
+     * @param structureCommand structure command
      * @param expected expected response
      */
-    public static void assertValidate(StructureElementCommand structureElement, StructureChoice structureChoice, Boolean expected) {
-        assertValidate(AuthorizationChoice.NONE, new StructureElementCommand[] {structureElement}, structureChoice, expected);
+    public static void assertValidate(StructureElementCommand structureElement, StructureCommand structureCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, new StructureElementCommand[] {structureElement}, structureCommand, expected);
     }
     /**
      * Utility method to validate structure elements and assert expected response.
      *
      * @param structureElements structure elements
-     * @param structureChoice structure choice
+     * @param structureCommand structure command
      * @param expected expected response
      */
-    public static void assertValidate(StructureElementCommand[] structureElements, StructureChoice structureChoice, Boolean expected) {
-        assertValidate(AuthorizationChoice.NONE, structureElements, structureChoice, expected);
+    public static void assertValidate(StructureElementCommand[] structureElements, StructureCommand structureCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, structureElements, structureCommand, expected);
     }
     /**
      * Utility method to validate structure elements and assert expected response.
      *
      * @param authorizationChoice authorization choice (none, user, admin)
      * @param structureElements structure elements
-     * @param structureChoice structure choice
+     * @param structureCommand structure command
      * @param expected expected response
      */
-    public static void assertValidate(AuthorizationChoice authorizationChoice, StructureElementCommand[] structureElements, StructureChoice structureChoice, Boolean expected) {
-        String path = getValidatePath(structureChoice);
+    public static void assertValidate(AuthorizationChoice authorizationChoice, StructureElementCommand[] structureElements, StructureCommand structureCommand, Boolean expected) {
+        String path = getValidatePath(structureCommand);
 
         try {
             String[] response = null;
@@ -455,14 +455,14 @@ public class ITUtilStructureElement {
     }
 
     /**
-     * Utility method to return validate path for structure choice.
+     * Utility method to return validate path for structure command.
      *
-     * @param structureChoice structure choice
+     * @param structureCommand structure command
      * @return validate path
      */
-    private static String getValidatePath(StructureChoice structureChoice) {
+    private static String getValidatePath(StructureCommand structureCommand) {
         String validatePath = "";
-        switch (structureChoice) {
+        switch (structureCommand) {
             case CREATE:
                 validatePath = "/validatecreate";
                 break;
@@ -563,7 +563,7 @@ public class ITUtilStructureElement {
      * @return created structure element
      */
     public static StructureElement[] assertCreate(AuthorizationChoice authorizationChoice, StructureElementCommand[] structureElements) {
-        String path = getValidatePath(StructureChoice.CREATE);
+        String path = getValidatePath(StructureCommand.CREATE);
 
         try {
             String[] response = null;
@@ -626,7 +626,7 @@ public class ITUtilStructureElement {
      * @return updated structure element
      */
     public static StructureElement[] assertUpdate(AuthorizationChoice authorizationChoice, StructureElementCommand[] structureElements) {
-        String path = getValidatePath(StructureChoice.UPDATE);
+        String path = getValidatePath(StructureCommand.UPDATE);
 
         try {
             String[] response = null;
@@ -686,7 +686,7 @@ public class ITUtilStructureElement {
      * @return deleted structure element
      */
     public static StructureElement[] assertDelete(AuthorizationChoice authorizationChoice, StructureElementCommand[] structureElements) {
-        String path = getValidatePath(StructureChoice.DELETE);
+        String path = getValidatePath(StructureCommand.DELETE);
 
         try {
             String[] response = null;
@@ -746,7 +746,7 @@ public class ITUtilStructureElement {
      * @return approved structure element
      */
     public static StructureElement[] assertApprove(AuthorizationChoice authorizationChoice, StructureElementCommand[] structureElements) {
-        String path = getValidatePath(StructureChoice.APPROVE);
+        String path = getValidatePath(StructureCommand.APPROVE);
 
         try {
             String[] response = null;
@@ -806,7 +806,7 @@ public class ITUtilStructureElement {
      * @return cancelled structure element
      */
     public static StructureElement[] assertCancel(AuthorizationChoice authorizationChoice, StructureElementCommand[] structureElements) {
-        String path = getValidatePath(StructureChoice.CANCEL);
+        String path = getValidatePath(StructureCommand.CANCEL);
 
         try {
             String[] response = null;
@@ -866,7 +866,7 @@ public class ITUtilStructureElement {
      * @return rejected structure element
      */
     public static StructureElement[] assertReject(AuthorizationChoice authorizationChoice, StructureElementCommand[] structureElements) {
-        String path = getValidatePath(StructureChoice.REJECT);
+        String path = getValidatePath(StructureCommand.REJECT);
 
         try {
             String[] response = null;
diff --git a/src/test/java/org/openepics/names/docker/NamesIT.java b/src/test/java/org/openepics/names/docker/NamesIT.java
index 42dd8c4b..1358774a 100644
--- a/src/test/java/org/openepics/names/docker/NamesIT.java
+++ b/src/test/java/org/openepics/names/docker/NamesIT.java
@@ -34,7 +34,7 @@ import org.openepics.names.rest.beans.element.NameElement;
 import org.openepics.names.rest.beans.element.NameElementCommand;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.NameChoice;
+import org.openepics.names.util.NameCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -209,9 +209,9 @@ class NamesIT {
             ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.CREATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.UPDATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.DELETE, Boolean.FALSE);
 
             // create
             createdNameElement = ITUtilNameElement.assertCreate(nameElement);
@@ -224,9 +224,9 @@ class NamesIT {
             ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
             ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.UPDATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.DELETE, Boolean.TRUE);
 
             // delete, approve
             structureElement = new StructureElementCommand(
@@ -239,9 +239,9 @@ class NamesIT {
             ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
             ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.UPDATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.DELETE, Boolean.TRUE);
 
             ITUtilStructureElement.assertApprove(structureElement);
 
@@ -252,9 +252,9 @@ class NamesIT {
             ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
             ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.UPDATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -299,10 +299,10 @@ class NamesIT {
 
             // validate create
 
-            ITUtilNameElement.assertValidate("[{asdf]", NameChoice.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
+            ITUtilNameElement.assertValidate("[{asdf]", NameCommand.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
             ITUtilNameElement.assertCreate("[{asdf]", HttpURLConnection.HTTP_BAD_REQUEST);
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // ----------
@@ -312,17 +312,17 @@ class NamesIT {
             // comment
 
             nameElement.setDescription("description");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             nameElement.setComment("comment");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // convention name exists
             // already exists since create subsystem was approved
             nameElement.setParentsystemstructure(subsystem010PRL);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
 
             // ----------
             // system structure + device structure + index
@@ -331,11 +331,11 @@ class NamesIT {
             // comment
 
             nameElement.setIndex("051");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             nameElement.setParentdevicestructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
 
             // ----------
 
@@ -343,7 +343,7 @@ class NamesIT {
             nameElement.setIndex(null);
             nameElement.setParentdevicestructure(null);
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // ----------
@@ -355,7 +355,7 @@ class NamesIT {
             // convention name exists
             // already exists since create system was approved
             nameElement.setParentsystemstructure(systemRFQ);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
 
             // ----------
             // system structure + device structure + index
@@ -364,11 +364,11 @@ class NamesIT {
             // comment
 
             nameElement.setIndex("051");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             nameElement.setParentdevicestructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
 
             // ----------
 
@@ -376,7 +376,7 @@ class NamesIT {
             nameElement.setIndex(null);
             nameElement.setParentdevicestructure(null);
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // ----------
@@ -388,7 +388,7 @@ class NamesIT {
             // convention name exists
             // already exists since create system group was approved
             nameElement.setParentsystemstructure(systemGroupAcc);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
 
             // ----------
             // system structure + device structure + index
@@ -397,14 +397,14 @@ class NamesIT {
             // comment
 
             nameElement.setIndex("051");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             nameElement.setParentdevicestructure(deviceTypeTT);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
 
             nameElement.setParentdevicestructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
 
             // ----------
 
@@ -412,7 +412,7 @@ class NamesIT {
             nameElement.setIndex(null);
             nameElement.setParentdevicestructure(null);
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // ----------
@@ -424,13 +424,13 @@ class NamesIT {
             // convention name exists
             // already exists since create system was approved
             nameElement.setParentsystemstructure(systemRFQ);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
 
             nameElement.setParentdevicestructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
 
             nameElement.setIndex("051");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -473,10 +473,10 @@ class NamesIT {
 
             ITUtilNameElement.assertValidate(
                     "[" + mapper.writeValueAsString(nameElement) + ","+mapper.writeValueAsString(nameElement2) +"]",
-                    NameChoice.CREATE, HttpURLConnection.HTTP_OK, Boolean.TRUE, Boolean.TRUE);
+                    NameCommand.CREATE, HttpURLConnection.HTTP_OK, Boolean.TRUE, Boolean.TRUE);
 
-            ITUtilNameElement.assertValidate(nameElement,  NameChoice.CREATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement2, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement,  NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement2, NameCommand.CREATE, Boolean.TRUE);
 
             // create
             ITUtilNameElement.assertCreate(nameElement);
@@ -485,7 +485,7 @@ class NamesIT {
             ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-052", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-010PRL:EMR-RFA-052", Boolean.FALSE);
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -530,76 +530,76 @@ class NamesIT {
             // validate update
 
             nameElement.setUuid(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setUuid(createdNameElement.getUuid());
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             nameElement.setDescription(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setDescription("checkUpdate");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             nameElement.setComment(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setComment("checkUpdate");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             // ----------
 
             nameElement.setParentsystemstructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setParentsystemstructure(systemGroupAcc);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             nameElement.setParentsystemstructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setParentsystemstructure(systemRFQ);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             nameElement.setParentsystemstructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             // subsystemN1U1 used in isLegacyName but not here
             // order of tests not guaranteed
 
             nameElement.setParentsystemstructure(subsystem010PRL);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             // ----------
 
             nameElement.setParentdevicestructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             // convention name exists
             // already exists since create subsystem was approved
             nameElement.setIndex(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setIndex("053");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setParentdevicestructure(deviceGroupEMR);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setParentdevicestructure(deviceTypeFS);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             nameElement.setParentdevicestructure(deviceTypeTT);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             nameElement.setParentdevicestructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             nameElement.setIndex(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             nameElement.setIndex("053");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             // system structure, device structure not used for validation
         } catch (Exception e) {
@@ -629,25 +629,25 @@ class NamesIT {
                     null, subsystem010PRL, deviceTypeRFA, "054",
                     "description", "comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
 
             // create
             createdNameElement = ITUtilNameElement.assertCreate(nameElement);
             nameElement.setUuid(createdNameElement.getUuid());
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             nameElement.setDescription("updated description");
             nameElement.setComment("updated comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
 
             // update
             ITUtilNameElement.assertUpdate(nameElement);
             nameElement.setDescription("another description");
             nameElement.setComment("another comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -685,49 +685,49 @@ class NamesIT {
 
             // validate delete
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setDescription(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setDescription("checkDelete");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setComment(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.FALSE);
 
             nameElement.setComment("checkDelete");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             // system structure not used for validation
 
             nameElement.setParentsystemstructure(systemGroupAcc);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setParentsystemstructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setParentsystemstructure(systemRFQ);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setParentsystemstructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setParentsystemstructure(subsystem010PRL);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             // device type not used for validation
 
             nameElement.setParentdevicestructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             // index not used for validation
 
             nameElement.setIndex(null);
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setIndex("055");
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -756,24 +756,24 @@ class NamesIT {
                     null, subsystem010PRL, deviceTypeRFA, "056",
                     "description", "comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.FALSE);
 
             // create
             createdNameElement = ITUtilNameElement.assertCreate(nameElement);
             nameElement = createdNameElement;
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             nameElement.setDescription("deleted description");
             nameElement.setComment("deleted comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
 
             // delete
             deletedNameElement = ITUtilNameElement.assertDelete(nameElement);
             nameElement = deletedNameElement;
 
-            ITUtilNameElement.assertValidate(nameElement, NameChoice.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
index cc798168..0f39e6ad 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
@@ -32,7 +32,7 @@ import org.junit.jupiter.api.Test;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.StructureChoice;
+import org.openepics.names.util.StructureCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -141,37 +141,37 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "CC", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate("[{asdf]", StructureChoice.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
+            ITUtilStructureElement.assertValidate("[{asdf]", StructureCommand.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
             ITUtilStructureElement.assertCreate("[{asdf]", HttpURLConnection.HTTP_BAD_REQUEST);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setType(Type.DEVICEGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setParent(disciplineUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICEGROUP);
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -202,90 +202,90 @@ class StructuresDeviceGroupIT {
             // mnemonic rules
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("C");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Ccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Ccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Ccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Ccccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             // mnemonic rules (2)
 
             structureElement.setMnemonic(" ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Grp ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Grp");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("000");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Grp0");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic(":");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Grp:");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Grp:   ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("1");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("12");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("123");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("1234");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("12345");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("123456");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("1234567");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("12345678");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("123456789");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -317,8 +317,8 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -328,11 +328,11 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // approve
@@ -341,11 +341,11 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -377,8 +377,8 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -388,11 +388,11 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // cancel
@@ -401,11 +401,11 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -437,8 +437,8 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -448,11 +448,11 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // reject
@@ -461,11 +461,11 @@ class StructuresDeviceGroupIT {
             ITUtilStructureElement.assertExists         (Type.DEVICEGROUP, "Di", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -513,52 +513,52 @@ class StructuresDeviceGroupIT {
 
             // validate update
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.SYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICEGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setParent(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setParent(disciplineUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cu");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -594,20 +594,20 @@ class StructuresDeviceGroupIT {
 
             structureElement.setComment("comment update approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -645,20 +645,20 @@ class StructuresDeviceGroupIT {
 
             structureElement.setComment("comment update cancel check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -696,20 +696,20 @@ class StructuresDeviceGroupIT {
 
             structureElement.setComment("comment update reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -753,52 +753,52 @@ class StructuresDeviceGroupIT {
 
             // validate delete
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.SYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICEGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setParent(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setParent(disciplineUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cd");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -834,20 +834,20 @@ class StructuresDeviceGroupIT {
 
             structureElement.setComment("comment delete approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -885,20 +885,20 @@ class StructuresDeviceGroupIT {
 
             structureElement.setComment("comment update delete check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -936,20 +936,20 @@ class StructuresDeviceGroupIT {
 
             structureElement.setComment("comment delete reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
index 9353a0c8..6913661c 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
@@ -32,7 +32,7 @@ import org.junit.jupiter.api.Test;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.StructureChoice;
+import org.openepics.names.util.StructureCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -153,37 +153,37 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Cc",    Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "CC",    Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate("[{asdf]", StructureChoice.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
+            ITUtilStructureElement.assertValidate("[{asdf]", StructureCommand.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
             ITUtilStructureElement.assertCreate("[{asdf]", HttpURLConnection.HTTP_BAD_REQUEST);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setType(Type.DEVICETYPE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setParent(deviceGroupUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -214,90 +214,90 @@ class StructuresDeviceTypeIT {
             // mnemonic rules
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("C");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Ccccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             // mnemonic rules (2)
 
             structureElement.setMnemonic(" ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Dev ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Dev");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("000");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Dev0");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic(":");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Dev:");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Dev:   ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("1");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12345");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123456");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234567");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("12345678");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("123456789");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -329,8 +329,8 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -339,8 +339,8 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
@@ -348,8 +348,8 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Ca", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Ca", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -381,8 +381,8 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -392,11 +392,11 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // cancel
@@ -405,11 +405,11 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -441,8 +441,8 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -452,11 +452,11 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // reject
@@ -465,11 +465,11 @@ class StructuresDeviceTypeIT {
             ITUtilStructureElement.assertExists         (Type.DEVICETYPE, "Di-Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -517,52 +517,52 @@ class StructuresDeviceTypeIT {
 
             // validate update
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.SUBSYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICETYPE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setParent(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setParent(deviceGroupUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cu");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -598,20 +598,20 @@ class StructuresDeviceTypeIT {
 
             structureElement.setComment("comment update approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -649,20 +649,20 @@ class StructuresDeviceTypeIT {
 
             structureElement.setComment("comment update cancel check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -700,20 +700,20 @@ class StructuresDeviceTypeIT {
 
             structureElement.setComment("comment update reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -757,52 +757,52 @@ class StructuresDeviceTypeIT {
 
             // validate delete
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.SUBSYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICETYPE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setParent(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setParent(deviceGroupUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cd");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -838,20 +838,20 @@ class StructuresDeviceTypeIT {
 
             structureElement.setComment("comment delete approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -889,20 +889,20 @@ class StructuresDeviceTypeIT {
 
             structureElement.setComment("comment update delete check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -940,20 +940,20 @@ class StructuresDeviceTypeIT {
 
             structureElement.setComment("comment delete reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
index c4823ab4..20399ae0 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
@@ -31,7 +31,7 @@ import org.junit.jupiter.api.Test;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.StructureChoice;
+import org.openepics.names.util.StructureCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -114,33 +114,33 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "CC", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate("[{asdf]", StructureChoice.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
+            ITUtilStructureElement.assertValidate("[{asdf]", StructureCommand.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
             ITUtilStructureElement.assertCreate("[{asdf]", HttpURLConnection.HTTP_BAD_REQUEST);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setType(Type.DISCIPLINE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -170,90 +170,90 @@ class StructuresDisciplineIT {
             // mnemonic rules
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("C");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Ccccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             // mnemonic rules (2)
 
             structureElement.setMnemonic(" ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Dis ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Dis");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("000");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Dis0");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic(":");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Dis:");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Dis:   ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("1");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12345");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123456");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234567");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("12345678");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("123456789");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -285,8 +285,8 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -295,8 +295,8 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
@@ -304,8 +304,8 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Ca", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -337,8 +337,8 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -348,11 +348,11 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // cancel
@@ -361,11 +361,11 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -397,8 +397,8 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -408,11 +408,11 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // reject
@@ -421,11 +421,11 @@ class StructuresDisciplineIT {
             ITUtilStructureElement.assertExists         (Type.DISCIPLINE, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -472,46 +472,46 @@ class StructuresDisciplineIT {
 
             // validate update
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.SYSTEMGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.DISCIPLINE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cu");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -547,20 +547,20 @@ class StructuresDisciplineIT {
 
             structureElement.setComment("comment update approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -598,20 +598,20 @@ class StructuresDisciplineIT {
 
             structureElement.setComment("comment update cancel check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -649,20 +649,20 @@ class StructuresDisciplineIT {
 
             structureElement.setComment("comment update reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -706,46 +706,46 @@ class StructuresDisciplineIT {
 
             // validate delete
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.SYSTEMGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.DISCIPLINE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cd");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -781,20 +781,20 @@ class StructuresDisciplineIT {
 
             structureElement.setComment("comment delete approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -832,20 +832,20 @@ class StructuresDisciplineIT {
 
             structureElement.setComment("comment update delete check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -883,20 +883,20 @@ class StructuresDisciplineIT {
 
             structureElement.setComment("comment delete reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
index 8f181b76..fa926dda 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
@@ -32,7 +32,7 @@ import org.junit.jupiter.api.Test;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.StructureChoice;
+import org.openepics.names.util.StructureCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -155,37 +155,37 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Cc",         Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "CC",         Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate("[{asdf]", StructureChoice.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
+            ITUtilStructureElement.assertValidate("[{asdf]", StructureCommand.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
             ITUtilStructureElement.assertCreate("[{asdf]", HttpURLConnection.HTTP_BAD_REQUEST);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setType(Type.SUBSYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setParent(systemUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -216,90 +216,90 @@ class StructuresSubsystemIT {
             // mnemonic rules
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("C");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             // mnemonic rules (2)
 
             structureElement.setMnemonic(" ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sub ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sub");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("000");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Sub0");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic(":");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sub:");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sub:   ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("1");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12345");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123456");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234567");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12345678");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123456789");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -331,8 +331,8 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -341,8 +341,8 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
@@ -350,8 +350,8 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Ca", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Ca", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -383,8 +383,8 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -394,11 +394,11 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // cancel
@@ -407,11 +407,11 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -443,8 +443,8 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -454,11 +454,11 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // reject
@@ -467,11 +467,11 @@ class StructuresSubsystemIT {
             ITUtilStructureElement.assertExists         (Type.SUBSYSTEM, "Sys-Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -519,52 +519,52 @@ class StructuresSubsystemIT {
 
             // validate update
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICETYPE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.SUBSYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setParent(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setParent(systemUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cu");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -600,20 +600,20 @@ class StructuresSubsystemIT {
 
             structureElement.setComment("comment update approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -651,20 +651,20 @@ class StructuresSubsystemIT {
 
             structureElement.setComment("comment update cancel check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -702,20 +702,20 @@ class StructuresSubsystemIT {
 
             structureElement.setComment("comment update reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -759,52 +759,52 @@ class StructuresSubsystemIT {
 
             // validate delete
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICETYPE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.SUBSYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setParent(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setParent(systemGroupUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cd");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -840,20 +840,20 @@ class StructuresSubsystemIT {
 
             structureElement.setComment("comment delete approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -891,20 +891,20 @@ class StructuresSubsystemIT {
 
             structureElement.setComment("comment update delete check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -942,20 +942,20 @@ class StructuresSubsystemIT {
 
             structureElement.setComment("comment delete reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
index 73045e7a..1d32afd4 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
@@ -32,7 +32,7 @@ import org.junit.jupiter.api.Test;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.StructureChoice;
+import org.openepics.names.util.StructureCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -120,39 +120,39 @@ class StructuresSystemGroupIT {
 
             // validate create
 
-            ITUtilStructureElement.assertValidate("[{asdf]", StructureChoice.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
+            ITUtilStructureElement.assertValidate("[{asdf]", StructureCommand.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
             ITUtilStructureElement.assertCreate("[{asdf]", HttpURLConnection.HTTP_BAD_REQUEST);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setType(Type.SYSTEMGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -182,96 +182,96 @@ class StructuresSystemGroupIT {
             // mnemonic rules
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("C");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Ccccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             // mnemonic rules (2)
 
             structureElement.setMnemonic(" ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sys ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sys");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("000");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Sys0");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic(":");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sys:");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sys:   ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("1");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12345");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123456");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234567");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("12345678");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("123456789");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Ac1");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Acc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -305,8 +305,8 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -316,8 +316,8 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
@@ -325,8 +325,8 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Ca", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Ca", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // create
             structureElement = new StructureElementCommand(
@@ -378,8 +378,8 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -389,11 +389,11 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // cancel
@@ -402,11 +402,11 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -438,8 +438,8 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -449,11 +449,11 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // reject
@@ -462,11 +462,11 @@ class StructuresSystemGroupIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEMGROUP, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -513,46 +513,46 @@ class StructuresSystemGroupIT {
 
             // validate update
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.DISCIPLINE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.SYSTEMGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cu");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -589,20 +589,20 @@ class StructuresSystemGroupIT {
             structureElement.setDescription("description update approve check");
             structureElement.setComment("comment update approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -641,20 +641,20 @@ class StructuresSystemGroupIT {
             structureElement.setDescription("description update cancel check");
             structureElement.setComment("comment update cancel check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -693,20 +693,20 @@ class StructuresSystemGroupIT {
             structureElement.setDescription("description update reject check");
             structureElement.setComment("comment update reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -750,46 +750,46 @@ class StructuresSystemGroupIT {
 
             // validate delete
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.DISCIPLINE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.SYSTEMGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cd");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -825,20 +825,20 @@ class StructuresSystemGroupIT {
 
             structureElement.setComment("comment delete approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -876,20 +876,20 @@ class StructuresSystemGroupIT {
 
             structureElement.setComment("comment update delete check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -927,20 +927,20 @@ class StructuresSystemGroupIT {
 
             structureElement.setComment("comment delete reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
index 51911011..f6e1bec0 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
@@ -32,7 +32,7 @@ import org.junit.jupiter.api.Test;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.StructureChoice;
+import org.openepics.names.util.StructureCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -139,37 +139,37 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cc",    Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "CC",    Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate("[{asdf]", StructureChoice.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
+            ITUtilStructureElement.assertValidate("[{asdf]", StructureCommand.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
             ITUtilStructureElement.assertCreate("[{asdf]", HttpURLConnection.HTTP_BAD_REQUEST);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setType(Type.SYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setParent(systemGroupUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
             ITUtilStructureElement.assertCreate(structureElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -200,89 +200,89 @@ class StructuresSystemIT {
             // mnemonic rules
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("C");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Ccccccccc");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             // mnemonic rules (2)
 
             structureElement.setMnemonic(" ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sys ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sys");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("000");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("Sys0");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic(":");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sys:");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Sys:   ");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
 
             structureElement.setMnemonic("1");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12345");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123456");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("1234567");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("12345678");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElement.setMnemonic("123456789");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -314,8 +314,8 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -324,8 +324,8 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Ca", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Ca", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
@@ -333,8 +333,8 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Ca", Boolean.TRUE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Ca", Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -366,8 +366,8 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -377,11 +377,11 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // cancel
@@ -390,11 +390,11 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Cc", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cc", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -426,8 +426,8 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // create
             createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
@@ -437,11 +437,11 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(uuid);
 
             // reject
@@ -450,11 +450,11 @@ class StructuresSystemIT {
             ITUtilStructureElement.assertExists         (Type.SYSTEM, "Cr", Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cr", Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -502,52 +502,52 @@ class StructuresSystemIT {
 
             // validate update
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICEGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setType(Type.SYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setParent(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setParent(systemGroupUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setMnemonic("Cu");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -583,20 +583,20 @@ class StructuresSystemIT {
 
             structureElement.setComment("comment update approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -634,20 +634,20 @@ class StructuresSystemIT {
 
             structureElement.setComment("comment update cancel check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -685,20 +685,20 @@ class StructuresSystemIT {
 
             structureElement.setComment("comment update reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // update
             ITUtilStructureElement.assertUpdate(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.UPDATE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -742,52 +742,52 @@ class StructuresSystemIT {
 
             // validate delete
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setType(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.DEVICEGROUP);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setType(Type.SYSTEM);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setParent(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setParent(systemGroupUuid);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setName("name");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setMnemonic("Cd");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setDescription("description");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
 
             structureElement.setComment(null);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
 
             structureElement.setComment("comment");
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -823,20 +823,20 @@ class StructuresSystemIT {
 
             structureElement.setComment("comment delete approve check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.TRUE);
 
             // approve
             ITUtilStructureElement.assertApprove(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.APPROVE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -874,20 +874,20 @@ class StructuresSystemIT {
 
             structureElement.setComment("comment update delete check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.TRUE);
 
             // cancel
             ITUtilStructureElement.assertCancel(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.CANCEL, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -925,20 +925,20 @@ class StructuresSystemIT {
 
             structureElement.setComment("comment delete reject check");
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
 
             // delete
             ITUtilStructureElement.assertDelete(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.TRUE);
 
             // reject
             ITUtilStructureElement.assertReject(structureElement);
 
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.DELETE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElement, StructureCommand.REJECT, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java b/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java
index 20ee46e1..4f764c70 100644
--- a/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java
@@ -31,7 +31,7 @@ import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.NameElementCommand;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.NameChoice;
+import org.openepics.names.util.NameCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -557,121 +557,121 @@ class NamesInstanceIndexIT {
 
       nameElement.setParentdevicestructure(deviceType_Cryo_IOC);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
 
       nameElement.setParentdevicestructure(deviceType_Cryo_RFA);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -696,121 +696,121 @@ class NamesInstanceIndexIT {
 
       nameElement.setParentdevicestructure(deviceType_EMR_IOC);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
 
       nameElement.setParentdevicestructure(deviceType_EMR_RFA);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -835,121 +835,121 @@ class NamesInstanceIndexIT {
 
       nameElement.setParentdevicestructure(deviceType_HVAC_IOC);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
 
       nameElement.setParentdevicestructure(deviceType_HVAC_RFA);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -974,121 +974,121 @@ class NamesInstanceIndexIT {
 
       nameElement.setParentdevicestructure(deviceType_Proc_IOC);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
 
       nameElement.setParentdevicestructure(deviceType_Proc_RFA);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -1113,121 +1113,121 @@ class NamesInstanceIndexIT {
 
       nameElement.setParentdevicestructure(deviceType_SC_IOC);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
 
       nameElement.setParentdevicestructure(deviceType_SC_RFA);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -1252,121 +1252,121 @@ class NamesInstanceIndexIT {
 
       nameElement.setParentdevicestructure(deviceType_Vac_IOC);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
 
       nameElement.setParentdevicestructure(deviceType_Vac_RFA);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -1391,121 +1391,121 @@ class NamesInstanceIndexIT {
 
       nameElement.setParentdevicestructure(deviceType_WtrC_IOC);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
 
       nameElement.setParentdevicestructure(deviceType_WtrC_RFA);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -1530,121 +1530,121 @@ class NamesInstanceIndexIT {
 
       nameElement.setParentdevicestructure(deviceType_BMD_IOC);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
 
       nameElement.setParentdevicestructure(deviceType_BMD_RFA);
 
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "051",       Boolean.TRUE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00",        Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0000000",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "00000000",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000000000", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12",        Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1234567",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "12345678",  Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123456789", Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000a",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ab",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abc",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "000ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123a",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ab",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abc",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123abcd",   Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123A",      Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123AB",     Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABC",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "123ABCD",   Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1",         Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "01",        Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "001",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0001",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "0110",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10",        Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "100",       Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "1000",      Boolean.TRUE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "10001",     Boolean.FALSE);
-
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "",          Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, " ",         Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "Idx",       Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abcdef",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "abc123",    Boolean.FALSE);
-      ITUtilNameElement.assertValidate(nameElement, NameChoice.CREATE, "a!",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1",         Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "01",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0001",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "0110",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "1000",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
 }
diff --git a/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java b/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java
index 43855c1e..81599ab6 100644
--- a/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java
@@ -35,7 +35,7 @@ import org.openepics.names.rest.beans.element.NameElement;
 import org.openepics.names.rest.beans.element.NameElementCommand;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.NameChoice;
+import org.openepics.names.util.NameCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -161,45 +161,45 @@ class NamesMultipleIT {
             ITUtilNameElement.assertExists("RFQ:Cryo-FS-011", Boolean.FALSE);
             ITUtilNameElement.assertIsLegacy("RFQ:Cryo-FS-011", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ:Cryo-FS-011", Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
             uuid = deviceType_Cryo_FS;
             nameElements[3].setUuid(uuid);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
             nameElements[3].setUuid(null);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
 
             uuid = nameElements[3].getParentsystemstructure();
             nameElements[3].setParentsystemstructure(null);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
             nameElements[3].setParentsystemstructure(uuid);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
 
             uuid = nameElements[3].getParentdevicestructure();
             nameElements[3].setParentdevicestructure(null);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
             nameElements[3].setParentdevicestructure(uuid);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
 
             value = nameElements[3].getIndex();
             nameElements[3].setIndex(null);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
             nameElements[3].setIndex(value);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
 
             value = nameElements[3].getDescription();
             nameElements[3].setDescription(null);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
             nameElements[3].setDescription(value);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
 
             value = nameElements[3].getComment();
             nameElements[3].setComment(null);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
             nameElements[3].setComment(value);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -238,9 +238,9 @@ class NamesMultipleIT {
                     new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "023", "create 3.3.023", "create 3.3.023")
             };
 
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
             nameElements = new NameElementCommand[] {
                     nameElements[1],
@@ -257,9 +257,9 @@ class NamesMultipleIT {
             ITUtilNameElement.assertExists("Acc:Cryo-FS-023", Boolean.FALSE);
             ITUtilNameElement.assertIsLegacy("Acc:Cryo-FS-023", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("Acc:Cryo-FS-023", Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
             nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
@@ -272,9 +272,9 @@ class NamesMultipleIT {
             ITUtilNameElement.assertExists("Acc:Cryo-FS-023", Boolean.TRUE);
             ITUtilNameElement.assertIsLegacy("Acc:Cryo-FS-023", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("Acc:Cryo-FS-023", Boolean.FALSE);
-            ITUtilNameElement.assertValidate(createdNameElements, NameChoice.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(createdNameElements, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -319,9 +319,9 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ:Cryo-FS-031", Boolean.FALSE);
         ITUtilNameElement.assertIsLegacy("RFQ:Cryo-FS-031", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ:Cryo-FS-031", Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
         nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
@@ -334,45 +334,45 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ:Cryo-FS-031", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ:Cryo-FS-031", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ:Cryo-FS-031", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         uuid = createdNameElements[3].getUuid();
         createdNameElements[3].setUuid(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
         createdNameElements[3].setUuid(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
 
         uuid = createdNameElements[3].getParentsystemstructure();
         createdNameElements[3].setParentsystemstructure(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
         createdNameElements[3].setParentsystemstructure(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
 
         uuid = createdNameElements[3].getParentdevicestructure();
         createdNameElements[3].setParentdevicestructure(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
         createdNameElements[3].setParentdevicestructure(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
 
         value = createdNameElements[3].getIndex();
         createdNameElements[3].setIndex(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
         createdNameElements[3].setIndex(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
 
         value = createdNameElements[3].getDescription();
         createdNameElements[3].setDescription(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
         createdNameElements[3].setDescription(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
 
         value = createdNameElements[3].getComment();
         createdNameElements[3].setComment(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
         createdNameElements[3].setComment(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
     }
 
     @Test
@@ -410,9 +410,9 @@ class NamesMultipleIT {
                 new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "043", "update 3.3.043", "update 3.3.043")
         };
 
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
         nameElements = new NameElementCommand[] {
                 nameElements[0],
@@ -429,9 +429,9 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
         nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
@@ -444,9 +444,9 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         createdNameElements[0].setDescription("0");
         createdNameElements[1].setDescription("1");
@@ -461,9 +461,9 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         updatedNameElements = ITUtilNameElement.assertUpdate(createdNameElements);
         assertNotNull(updatedNameElements);
@@ -474,9 +474,9 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(updatedNameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(updatedNameElements, NameChoice.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(updatedNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(updatedNameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(updatedNameElements, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(updatedNameElements, NameCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -520,9 +520,9 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ:Cryo-FS-051", Boolean.FALSE);
         ITUtilNameElement.assertIsLegacy("RFQ:Cryo-FS-051", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ:Cryo-FS-051", Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
         nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
@@ -535,45 +535,45 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ:Cryo-FS-051", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ:Cryo-FS-051", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ:Cryo-FS-051", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         uuid = createdNameElements[3].getUuid();
         createdNameElements[3].setUuid(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.FALSE);
         createdNameElements[3].setUuid(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         uuid = createdNameElements[3].getParentsystemstructure();
         createdNameElements[3].setParentsystemstructure(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
         createdNameElements[3].setParentsystemstructure(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         uuid = createdNameElements[3].getParentdevicestructure();
         createdNameElements[3].setParentdevicestructure(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
         createdNameElements[3].setParentdevicestructure(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         value = createdNameElements[3].getIndex();
         createdNameElements[3].setIndex(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
         createdNameElements[3].setIndex(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         value = createdNameElements[3].getDescription();
         createdNameElements[3].setDescription(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
         createdNameElements[3].setDescription(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         value = createdNameElements[3].getComment();
         createdNameElements[3].setComment(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.FALSE);
         createdNameElements[3].setComment(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -619,9 +619,9 @@ class NamesMultipleIT {
                 new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "063", "delete 3.3.063", "delete 3.3.063")
         };
 
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
         nameElements = new NameElementCommand[] {
                 nameElements[0],
@@ -638,9 +638,9 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ:Cryo-FS-061", Boolean.FALSE);
         ITUtilNameElement.assertIsLegacy("RFQ:Cryo-FS-061", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ:Cryo-FS-061", Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
 
         nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
@@ -653,9 +653,9 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ:Cryo-FS-061", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ:Cryo-FS-061", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ:Cryo-FS-061", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameChoice.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
 
         deletedNameElements = ITUtilNameElement.assertDelete(createdNameElements);
         assertNotNull(deletedNameElements);
@@ -666,10 +666,10 @@ class NamesMultipleIT {
         ITUtilNameElement.assertExists("RFQ:Cryo-FS-061", Boolean.FALSE);
         ITUtilNameElement.assertIsLegacy("RFQ:Cryo-FS-061", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ:Cryo-FS-061", Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameChoice.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(deletedNameElements, NameChoice.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(deletedNameElements, NameChoice.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(deletedNameElements, NameChoice.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(deletedNameElements, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(deletedNameElements, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(deletedNameElements, NameCommand.DELETE, Boolean.FALSE);
     }
 
 }
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresMultipleIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresMultipleIT.java
index 3f9d0378..110b6059 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresMultipleIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresMultipleIT.java
@@ -32,7 +32,7 @@ import org.openepics.names.docker.ITUtilStructureElement;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.openepics.names.util.EnumUtil.StructureChoice;
+import org.openepics.names.util.StructureCommand;
 import org.testcontainers.containers.DockerComposeContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
 import org.testcontainers.junit.jupiter.Container;
@@ -179,54 +179,54 @@ class StructuresMultipleIT {
                     new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid,  "name", "",      "description", "comment"),
                     new StructureElementCommand(null, Type.DEVICETYPE,  deviceGroupUuid, "name", "DtChc",  "description", "comment")
             };
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             uuid = subsystemUuid;
             structureElements[1].setUuid(uuid);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setUuid(null);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElements[1].setType(null);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setType(Type.SYSTEMGROUP);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setType(Type.SUBSYSTEM);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setType(Type.SYSTEM);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.TRUE);
 
             structureElements[1].setParent(null);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setParent(systemUuid);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setParent(subsystemUuid);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setParent(systemGroupUuid);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.TRUE);
 
             value = structureElements[1].getName();
             structureElements[1].setName(null);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setName(value);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.TRUE);
 
             value = structureElements[1].getDescription();
             structureElements[1].setDescription(null);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setDescription(value);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.TRUE);
 
             value = structureElements[1].getComment();
             structureElements[1].setComment(null);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.FALSE);
             structureElements[1].setComment(value);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -275,12 +275,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCa",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             createdStructureElements = ITUtilStructureElement.assertCreate(structureElements);
             assertNotNull(createdStructureElements);
@@ -299,12 +299,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCa",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             approvedStructureElements = ITUtilStructureElement.assertApprove(createdStructureElements);
             assertNotNull(approvedStructureElements);
@@ -323,12 +323,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCa",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -377,12 +377,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCc",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             createdStructureElements = ITUtilStructureElement.assertCreate(structureElements);
             assertNotNull(createdStructureElements);
@@ -401,12 +401,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCc",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             cancelledStructureElements = ITUtilStructureElement.assertCancel(createdStructureElements);
             assertNotNull(cancelledStructureElements);
@@ -425,12 +425,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCc",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -477,12 +477,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCr",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             createdStructureElements = ITUtilStructureElement.assertCreate(structureElements);
             assertNotNull(createdStructureElements);
@@ -501,12 +501,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCr",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(createdStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(createdStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             rejectedStructureElements = ITUtilStructureElement.assertReject(createdStructureElements);
             assertNotNull(rejectedStructureElements);
@@ -525,12 +525,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCr",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -591,12 +591,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCu",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCu",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements = ITUtilStructureElement.assertCreateApprove(structureElements);
             assertNotNull(approvedStructureElements);
@@ -615,54 +615,54 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCu",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCu",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             uuid = approvedStructureElements[1].getUuid();
             approvedStructureElements[1].setUuid(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setUuid(uuid);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.TRUE);
 
             approvedStructureElements[1].setType(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setType(Type.SYSTEMGROUP);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setType(Type.SUBSYSTEM);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setType(Type.SYSTEM);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.TRUE);
 
             approvedStructureElements[1].setParent(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setParent(systemUuid);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setParent(subsystemUuid);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setParent(systemGroupUuid);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.TRUE);
 
             value = approvedStructureElements[1].getName();
             approvedStructureElements[1].setName(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setName(value);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.TRUE);
 
             value = approvedStructureElements[1].getDescription();
             approvedStructureElements[1].setDescription(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setDescription(value);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.TRUE);
 
             value = approvedStructureElements[1].getComment();
             approvedStructureElements[1].setComment(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.FALSE);
             approvedStructureElements[1].setComment(value);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -713,12 +713,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUa",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements = ITUtilStructureElement.assertCreateApprove(structureElements);
             assertNotNull(approvedStructureElements);
@@ -737,12 +737,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUa",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements[0].setDescription("0");
             approvedStructureElements[1].setDescription("1");
@@ -764,12 +764,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUa",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             updatedStructureElements = ITUtilStructureElement.assertUpdate(approvedStructureElements);
             assertNotNull(updatedStructureElements);
@@ -788,12 +788,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUa",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             approvedStructureElements = ITUtilStructureElement.assertApprove(updatedStructureElements);
             assertNotNull(approvedStructureElements);
@@ -812,12 +812,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUa",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -871,12 +871,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements = ITUtilStructureElement.assertCreateApprove(structureElements);
             assertNotNull(approvedStructureElements);
@@ -895,12 +895,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements[0].setDescription("0");
             approvedStructureElements[1].setDescription("1");
@@ -922,12 +922,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             updatedStructureElements = ITUtilStructureElement.assertUpdate(approvedStructureElements);
             assertNotNull(updatedStructureElements);
@@ -946,12 +946,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             cancelledStructureElements = ITUtilStructureElement.assertCancel(updatedStructureElements);
             assertNotNull(cancelledStructureElements);
@@ -970,12 +970,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -1029,12 +1029,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements = ITUtilStructureElement.assertCreateApprove(structureElements);
             assertNotNull(approvedStructureElements);
@@ -1053,12 +1053,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements[0].setDescription("0");
             approvedStructureElements[1].setDescription("1");
@@ -1080,12 +1080,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             updatedStructureElements = ITUtilStructureElement.assertUpdate(approvedStructureElements);
             assertNotNull(updatedStructureElements);
@@ -1104,12 +1104,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(updatedStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             rejectedStructureElements = ITUtilStructureElement.assertReject(updatedStructureElements);
             assertNotNull(rejectedStructureElements);
@@ -1128,12 +1128,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -1188,12 +1188,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCd",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCd",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements = ITUtilStructureElement.assertCreateApprove(structureElements);
             assertNotNull(approvedStructureElements);
@@ -1212,54 +1212,54 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCd",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCd",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             uuid = approvedStructureElements[1].getUuid();
             approvedStructureElements[1].setUuid(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.FALSE);
             approvedStructureElements[1].setUuid(uuid);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
 
             approvedStructureElements[1].setType(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.FALSE);
             approvedStructureElements[1].setType(Type.SYSTEMGROUP);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.FALSE);
             approvedStructureElements[1].setType(Type.SUBSYSTEM);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.FALSE);
             approvedStructureElements[1].setType(Type.SYSTEM);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
 
             approvedStructureElements[1].setParent(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
             approvedStructureElements[1].setParent(systemUuid);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
             approvedStructureElements[1].setParent(subsystemUuid);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
             approvedStructureElements[1].setParent(systemGroupUuid);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
 
             value = approvedStructureElements[1].getName();
             approvedStructureElements[1].setName(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
             approvedStructureElements[1].setName(value);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
 
             value = approvedStructureElements[1].getDescription();
             approvedStructureElements[1].setDescription(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
             approvedStructureElements[1].setDescription(value);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
 
             value = approvedStructureElements[1].getComment();
             approvedStructureElements[1].setComment(null);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.FALSE);
             approvedStructureElements[1].setComment(value);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -1310,12 +1310,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDa",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements = ITUtilStructureElement.assertCreateApprove(structureElements);
             assertNotNull(approvedStructureElements);
@@ -1334,12 +1334,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDa",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             deletedStructureElements = ITUtilStructureElement.assertDelete(approvedStructureElements);
             assertNotNull(deletedStructureElements);
@@ -1358,12 +1358,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDa",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             approvedStructureElements = ITUtilStructureElement.assertApprove(deletedStructureElements);
             assertNotNull(approvedStructureElements);
@@ -1382,12 +1382,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDa",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDa",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -1441,12 +1441,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDc",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements = ITUtilStructureElement.assertCreateApprove(structureElements);
             assertNotNull(approvedStructureElements);
@@ -1465,12 +1465,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDc",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             deletedStructureElements = ITUtilStructureElement.assertDelete(approvedStructureElements);
             assertNotNull(deletedStructureElements);
@@ -1489,12 +1489,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDc",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             cancelledStructureElements = ITUtilStructureElement.assertCancel(deletedStructureElements);
             assertNotNull(cancelledStructureElements);
@@ -1513,12 +1513,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDc",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(cancelledStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -1572,12 +1572,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDr",   Boolean.TRUE);
 
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CREATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(structureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CREATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(structureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             approvedStructureElements = ITUtilStructureElement.assertCreateApprove(structureElements);
             assertNotNull(approvedStructureElements);
@@ -1596,12 +1596,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDr",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(approvedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
 
             deletedStructureElements = ITUtilStructureElement.assertDelete(approvedStructureElements);
             assertNotNull(deletedStructureElements);
@@ -1620,12 +1620,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDr",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.UPDATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.DELETE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.APPROVE, Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.CANCEL,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureChoice.REJECT,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.UPDATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.DELETE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.APPROVE, Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.CANCEL,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(deletedStructureElements, StructureCommand.REJECT,  Boolean.TRUE);
 
             rejectedStructureElements = ITUtilStructureElement.assertReject(deletedStructureElements);
             assertNotNull(rejectedStructureElements);
@@ -1644,12 +1644,12 @@ class StructuresMultipleIT {
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
             ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDr",   Boolean.FALSE);
 
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.CREATE,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.UPDATE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.DELETE,  Boolean.TRUE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.APPROVE, Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.CANCEL,  Boolean.FALSE);
-            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureChoice.REJECT,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.CREATE,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.UPDATE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.DELETE,  Boolean.TRUE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.APPROVE, Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.CANCEL,  Boolean.FALSE);
+            ITUtilStructureElement.assertValidate(rejectedStructureElements, StructureCommand.REJECT,  Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/util/ValidateUtilTest.java b/src/test/java/org/openepics/names/util/ValidateUtilTest.java
index bfa9d44f..053e2b85 100644
--- a/src/test/java/org/openepics/names/util/ValidateUtilTest.java
+++ b/src/test/java/org/openepics/names/util/ValidateUtilTest.java
@@ -33,7 +33,6 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.CsvSource;
 import org.openepics.names.exception.InputNotAvailableException;
 import org.openepics.names.rest.beans.Type;
-import org.openepics.names.util.EnumUtil.NameChoice;
 
 /**
  * Unit tests for ValidateUtil class.
@@ -589,21 +588,21 @@ class ValidateUtilTest {
      */
     @Test
     void isAnyEqualNameChoice() {
-        assertFalse(ValidateUtil.isAnyEqual(null, NameChoice.CREATE));
-        assertFalse(ValidateUtil.isAnyEqual(null, NameChoice.UPDATE));
-        assertFalse(ValidateUtil.isAnyEqual(null, NameChoice.DELETE));
-        assertFalse(ValidateUtil.isAnyEqual(null, NameChoice.CREATE, NameChoice.UPDATE));
-        assertFalse(ValidateUtil.isAnyEqual(null, NameChoice.CREATE, NameChoice.DELETE));
-        assertFalse(ValidateUtil.isAnyEqual(null, NameChoice.UPDATE, NameChoice.DELETE));
-        assertFalse(ValidateUtil.isAnyEqual(null, NameChoice.CREATE, NameChoice.UPDATE, NameChoice.DELETE));
-
-        assertFalse(ValidateUtil.isAnyEqual(NameChoice.UPDATE, NameChoice.CREATE));
-        assertTrue (ValidateUtil.isAnyEqual(NameChoice.UPDATE, NameChoice.UPDATE));
-        assertFalse(ValidateUtil.isAnyEqual(NameChoice.UPDATE, NameChoice.DELETE));
-        assertTrue (ValidateUtil.isAnyEqual(NameChoice.UPDATE, NameChoice.CREATE, NameChoice.UPDATE));
-        assertFalse(ValidateUtil.isAnyEqual(NameChoice.UPDATE, NameChoice.CREATE, NameChoice.DELETE));
-        assertTrue (ValidateUtil.isAnyEqual(NameChoice.UPDATE, NameChoice.UPDATE, NameChoice.DELETE));
-        assertTrue (ValidateUtil.isAnyEqual(NameChoice.UPDATE, NameChoice.CREATE, NameChoice.UPDATE, NameChoice.DELETE));
+        assertFalse(ValidateUtil.isAnyEqual(null, NameCommand.CREATE));
+        assertFalse(ValidateUtil.isAnyEqual(null, NameCommand.UPDATE));
+        assertFalse(ValidateUtil.isAnyEqual(null, NameCommand.DELETE));
+        assertFalse(ValidateUtil.isAnyEqual(null, NameCommand.CREATE, NameCommand.UPDATE));
+        assertFalse(ValidateUtil.isAnyEqual(null, NameCommand.CREATE, NameCommand.DELETE));
+        assertFalse(ValidateUtil.isAnyEqual(null, NameCommand.UPDATE, NameCommand.DELETE));
+        assertFalse(ValidateUtil.isAnyEqual(null, NameCommand.CREATE, NameCommand.UPDATE, NameCommand.DELETE));
+
+        assertFalse(ValidateUtil.isAnyEqual(NameCommand.UPDATE, NameCommand.CREATE));
+        assertTrue (ValidateUtil.isAnyEqual(NameCommand.UPDATE, NameCommand.UPDATE));
+        assertFalse(ValidateUtil.isAnyEqual(NameCommand.UPDATE, NameCommand.DELETE));
+        assertTrue (ValidateUtil.isAnyEqual(NameCommand.UPDATE, NameCommand.CREATE, NameCommand.UPDATE));
+        assertFalse(ValidateUtil.isAnyEqual(NameCommand.UPDATE, NameCommand.CREATE, NameCommand.DELETE));
+        assertTrue (ValidateUtil.isAnyEqual(NameCommand.UPDATE, NameCommand.UPDATE, NameCommand.DELETE));
+        assertTrue (ValidateUtil.isAnyEqual(NameCommand.UPDATE, NameCommand.CREATE, NameCommand.UPDATE, NameCommand.DELETE));
     }
 
     /**
-- 
GitLab