diff --git a/src/main/java/org/openepics/names/rest/api/v1/INames.java b/src/main/java/org/openepics/names/rest/api/v1/INames.java
index b2b25a7088d96bef22b0f77cb51bab80be59c1b0..6a16787aef145a5d39ca4e398399b2a1dc8e874f 100644
--- a/src/main/java/org/openepics/names/rest/api/v1/INames.java
+++ b/src/main/java/org/openepics/names/rest/api/v1/INames.java
@@ -22,7 +22,9 @@ import java.util.List;
 
 import org.openepics.names.rest.beans.FieldName;
 import org.openepics.names.rest.beans.element.NameElement;
-import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandConfirm;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
+import org.openepics.names.rest.beans.element.NameElementCommandUpdate;
 import org.openepics.names.rest.beans.response.Response;
 import org.openepics.names.rest.beans.response.ResponseBoolean;
 import org.openepics.names.rest.beans.response.ResponseBooleanList;
@@ -62,7 +64,13 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 public interface INames {
 
     /*
-       NameElementCommand - subset of NameElement attributes
+       NameElementCommandCreate  -       parentSystemStructure, parentDeviceStructure, index, description, comment
+       NameElementCommandUpdate  - uuid, parentSystemStructure, parentDeviceStructure, index, description, comment
+       NameElementCommandConfirm - uuid,                                                                   comment
+       ----------------------------------------------------------------------------------------------------
+       converted into NameElementCommand
+       ----------------------------------------------------------------------------------------------------
+       NameElementCommand        - uuid, parentSystemStructure, parentDeviceStructure, index, description, comment
        NameElement
                      uuid                     (UUID)
                      parentSystemStructure    (UUID)
@@ -81,7 +89,7 @@ public interface INames {
                      who                      (String)
 
        Methods
-           create    POST   /names                                - createNames                  (List<NameElementCommand>)
+           create    POST   /names                                - createNames                  (List<NameElementCommandCreate>)
            create    POST   /names/upload                         - createNames                  (MultipartFile)
            ----------------------------------------------------------------------------------------------------
            read      GET    /names                                - readNames                    (Boolean, String, String, String, String, String, String, FieldName, Boolean, Integer, Integer)
@@ -96,14 +104,14 @@ public interface INames {
            read      GET    /names/isLegacy/{name}                - isLegacyName                 (String)
            read      GET    /names/isValidToCreate/{name}         - isValidToCreateName          (String)
            ----------------------------------------------------------------------------------------------------
-           read      GET    /names/validateCreate                 - validateNamesCreate          (List<NameElementCommand>)
-           read      GET    /names/validateUpdate                 - validateNamesUpdate          (List<NameElementCommand>)
-           read      GET    /names/validateDelete                 - validateNamesDelete          (List<NameElementCommand>)
+           read      GET    /names/validateCreate                 - validateNamesCreate          (List<NameElementCommandCreate>)
+           read      GET    /names/validateUpdate                 - validateNamesUpdate          (List<NameElementCommandUpdate>)
+           read      GET    /names/validateDelete                 - validateNamesDelete          (List<NameElementCommandConfirm>)
            ----------------------------------------------------------------------------------------------------
-           update    PUT    /names                                - updateNames                  (List<NameElementCommand>)
+           update    PUT    /names                                - updateNames                  (List<NameElementCommandUpdate>)
            update    PUT    /names/upload                         - updateNames                  (MultipartFile)
            ----------------------------------------------------------------------------------------------------
-           delete    DELETE /names                                - deleteNames                  (List<NameElementCommand>)
+           delete    DELETE /names                                - deleteNames                  (List<NameElementCommandConfirm>)
            delete    DELETE /names/upload                         - deleteNames                  (MultipartFile)
 
        Note
@@ -184,9 +192,9 @@ public interface INames {
                             mediaType = "application/json",
                             array = @ArraySchema(
                                     schema = @Schema(
-                                            implementation = NameElementCommand.class,
-                                            requiredProperties = {"parentSystemStructure","parentDeviceStructure","index","description","comment"}))))
-            @RequestBody List<NameElementCommand> nameElements);
+                                            implementation = NameElementCommandCreate.class,
+                                            requiredProperties = {"parentSystemStructure","description","comment"}))))
+            @RequestBody List<NameElementCommandCreate> nameElementCommands);
 
     /**
      * Create names by upload Excel file.
@@ -896,9 +904,9 @@ public interface INames {
                             mediaType = "application/json",
                             array = @ArraySchema(
                                     schema = @Schema(
-                                            implementation = NameElementCommand.class,
+                                            implementation = NameElementCommandCreate.class,
                                             requiredProperties = {"parentSystemStructure","parentDeviceStructure","index","description","comment"}))))
-            @RequestBody List<NameElementCommand> nameElements);
+            @RequestBody List<NameElementCommandCreate> nameElementCommands);
 
     /**
      * Return if names are valid to update by list of name element commands.
@@ -972,9 +980,9 @@ public interface INames {
                             mediaType = "application/json",
                             array = @ArraySchema(
                                     schema = @Schema(
-                                            implementation = NameElementCommand.class,
+                                            implementation = NameElementCommandUpdate.class,
                                             requiredProperties = {"uuid","parentSystemStructure","description","comment"}))))
-            @RequestBody List<NameElementCommand> nameElements);
+            @RequestBody List<NameElementCommandUpdate> nameElementCommands);
 
     /**
      * Return if names are valid to delete by list of name element commands.
@@ -1044,9 +1052,9 @@ public interface INames {
                             mediaType = "application/json",
                             array = @ArraySchema(
                                     schema = @Schema(
-                                            implementation = NameElementCommand.class,
+                                            implementation = NameElementCommandConfirm.class,
                                             requiredProperties = {"uuid","comment"}))))
-            @RequestBody List<NameElementCommand> nameElements);
+            @RequestBody List<NameElementCommandConfirm> nameElementCommands);
 
     // ----------------------------------------------------------------------------------------------------
 
@@ -1112,9 +1120,9 @@ public interface INames {
                             mediaType = "application/json",
                             array = @ArraySchema(
                                     schema = @Schema(
-                                            implementation = NameElementCommand.class,
+                                            implementation = NameElementCommandUpdate.class,
                                             requiredProperties = {"uuid","parentSystemStructure","description","comment"}))))
-            @RequestBody List<NameElementCommand> nameElements);
+            @RequestBody List<NameElementCommandUpdate> nameElementCommands);
 
     /**
      * Update names by upload Excel file.
@@ -1238,9 +1246,9 @@ public interface INames {
                             mediaType = "application/json",
                             array = @ArraySchema(
                                     schema = @Schema(
-                                            implementation = NameElementCommand.class,
+                                            implementation = NameElementCommandConfirm.class,
                                             requiredProperties = {"uuid","comment"}))))
-            @RequestBody List<NameElementCommand> nameElements);
+            @RequestBody List<NameElementCommandConfirm> nameElementCommands);
 
     /**
      * Delete names by upload Excel file.
diff --git a/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandConfirm.java b/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandConfirm.java
new file mode 100644
index 0000000000000000000000000000000000000000..719dd4588c45f2486a389db3696dba9eb49b0e43
--- /dev/null
+++ b/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandConfirm.java
@@ -0,0 +1,102 @@
+package org.openepics.names.rest.beans.element;
+
+import java.io.Serializable;
+import java.util.Objects;
+import java.util.UUID;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+public class NameElementCommandConfirm implements Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 7227646902292017096L;
+
+    @Schema(description = "Identity (uuid) of the name entry. Value is created server-side.")
+    private UUID uuid;
+    @Schema(description = "Comment of the name entry command.")
+    private String comment;
+
+    /**
+     * Public constructor.
+     */
+    public NameElementCommandConfirm() {
+    }
+
+    /**
+     * Public constructor.
+     *
+     * @param uuid uuid
+     * @param comment comment
+     */
+    public NameElementCommandConfirm(
+            UUID uuid, String comment) {
+        super();
+        this.uuid = uuid;
+        this.comment = comment;
+    }
+
+    public UUID getUuid() {
+        return uuid;
+    }
+    public void setUuid(UUID uuid) {
+        this.uuid = uuid;
+    }
+    public String getComment() {
+        return comment;
+    }
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+
+        return equals ((NameElementCommandConfirm) obj);
+    }
+
+    public boolean equals(NameElementCommandConfirm other) {
+        if (other == null)
+            return false;
+
+        if (!super.equals(other)) {
+            return false;
+        }
+
+        if (getUuid() == null) {
+            if (other.getUuid() != null)
+                return false;
+        } else if (!getUuid().equals(other.getUuid()))
+            return false;
+        if (getComment() == null) {
+            if (other.getComment() != null)
+                return false;
+        } else if (!getComment().equals(other.getComment()))
+            return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(getUuid());
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append("{");
+        sb.append("\"uuid\": "                    + getUuid());
+        sb.append(", \"comment\": "               + getComment());
+        sb.append("}");
+        return sb.toString();
+    }
+
+}
diff --git a/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandCreate.java b/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandCreate.java
new file mode 100644
index 0000000000000000000000000000000000000000..daff80baac0581501f822321f009db24dc8e6806
--- /dev/null
+++ b/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandCreate.java
@@ -0,0 +1,153 @@
+package org.openepics.names.rest.beans.element;
+
+import java.io.Serializable;
+import java.util.Objects;
+import java.util.UUID;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+public class NameElementCommandCreate implements Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = -6805435306169229688L;
+
+    @Schema(description = "Identity (uuid) for the system structure parent.")
+    private UUID parentSystemStructure;
+    @Schema(description = "Identity (uuid) for the device structure parent (if the name entry refers to device structure).")
+    private UUID parentDeviceStructure;
+    @Schema(description = "Index (instance) of the name entry (if the name entry refers to device structure).")
+    private String index;
+    @Schema(description = "Description of the name entry.")
+    private String description;
+    @Schema(description = "Comment of the name entry command.")
+    private String comment;
+
+    /**
+     * Public constructor.
+     */
+    public NameElementCommandCreate() {
+    }
+
+    /**
+     * Public constructor.
+     *
+     * @param parentSystemStructure parent system structure uuid
+     * @param parentDeviceStructure parent device structure uuid
+     * @param index index
+     * @param description description
+     * @param comment comment
+     */
+    public NameElementCommandCreate(
+            UUID parentSystemStructure, UUID parentDeviceStructure, String index,
+            String description, String comment) {
+        super();
+        this.parentSystemStructure = parentSystemStructure;
+        this.parentDeviceStructure = parentDeviceStructure;
+        this.index = index;
+        this.description = description;
+        this.comment = comment;
+    }
+
+    public UUID getParentSystemStructure() {
+        return parentSystemStructure;
+    }
+    public void setParentSystemStructure(UUID parentSystemStructure) {
+        this.parentSystemStructure = parentSystemStructure;
+    }
+    public UUID getParentDeviceStructure() {
+        return parentDeviceStructure;
+    }
+    public void setParentDeviceStructure(UUID parentDeviceStructure) {
+        this.parentDeviceStructure = parentDeviceStructure;
+    }
+    public String getIndex() {
+        return index;
+    }
+    public void setIndex(String index) {
+        this.index = index;
+    }
+    public String getDescription() {
+        return description;
+    }
+    public void setDescription(String description) {
+        this.description = description;
+    }
+    public String getComment() {
+        return comment;
+    }
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+
+        return equals ((NameElementCommandCreate) obj);
+    }
+
+    public boolean equals(NameElementCommandCreate other) {
+        if (other == null)
+            return false;
+
+        if (!super.equals(other)) {
+            return false;
+        }
+
+        if (getParentSystemStructure() == null) {
+            if (other.getParentSystemStructure() != null)
+                return false;
+        } else if (!getParentSystemStructure().equals(other.getParentSystemStructure()))
+            return false;
+        if (getParentDeviceStructure() == null) {
+            if (other.getParentDeviceStructure() != null)
+                return false;
+        } else if (!getParentDeviceStructure().equals(other.getParentDeviceStructure()))
+            return false;
+        if (getIndex() == null) {
+            if (other.getIndex() != null)
+                return false;
+        } else if (!getIndex().equals(other.getIndex()))
+            return false;
+        if (getDescription() == null) {
+            if (other.getDescription() != null)
+                return false;
+        } else if (!getDescription().equals(other.getDescription()))
+            return false;
+        if (getComment() == null) {
+            if (other.getComment() != null)
+                return false;
+        } else if (!getComment().equals(other.getComment()))
+            return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(
+                getParentSystemStructure(), getParentDeviceStructure(), getIndex(),
+                getDescription(), getComment());
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append("{");
+        sb.append("\"parentSystemStructure\": " + getParentSystemStructure());
+        sb.append(", \"parentDeviceStructure\": " + getParentDeviceStructure());
+        sb.append(", \"index\": "                 + getIndex());
+        sb.append(", \"description\": "           + getDescription());
+        sb.append(", \"comment\": "               + getComment());
+        sb.append("}");
+        return sb.toString();
+    }
+
+}
diff --git a/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandUpdate.java b/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandUpdate.java
new file mode 100644
index 0000000000000000000000000000000000000000..b45ba7c4d40c28b1e9d4e1239537b0b2c09673b0
--- /dev/null
+++ b/src/main/java/org/openepics/names/rest/beans/element/NameElementCommandUpdate.java
@@ -0,0 +1,97 @@
+package org.openepics.names.rest.beans.element;
+
+import java.io.Serializable;
+import java.util.Objects;
+import java.util.UUID;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+public class NameElementCommandUpdate extends NameElementCommandCreate implements Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = -2695766212812986367L;
+
+    @Schema(description = "Identity (uuid) of the name entry. Value is created server-side.")
+    private UUID uuid;
+
+    /**
+     * Public constructor.
+     */
+    public NameElementCommandUpdate() {
+    }
+
+    /**
+     * Public constructor.
+     *
+     * @param uuid uuid
+     * @param parentSystemStructure parent system structure uuid
+     * @param parentDeviceStructure parent device structure uuid
+     * @param index index
+     * @param description description
+     * @param comment comment
+     */
+    public NameElementCommandUpdate(
+            UUID uuid, UUID parentSystemStructure, UUID parentDeviceStructure, String index,
+            String description, String comment) {
+        super(parentSystemStructure, parentDeviceStructure, index, description, comment);
+        this.uuid = uuid;
+    }
+
+    public UUID getUuid() {
+        return uuid;
+    }
+    public void setUuid(UUID uuid) {
+        this.uuid = uuid;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+
+        return equals ((NameElementCommandUpdate) obj);
+    }
+
+    public boolean equals(NameElementCommandUpdate other) {
+        if (other == null)
+            return false;
+
+        if (!super.equals(other)) {
+            return false;
+        }
+
+        if (getUuid() == null) {
+            if (other.getUuid() != null)
+                return false;
+        } else if (!getUuid().equals(other.getUuid()))
+            return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(getUuid());
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append("{");
+        sb.append("\"uuid\": "                    + getUuid());
+        sb.append(", \"parentSystemStructure\": " + getParentSystemStructure());
+        sb.append(", \"parentDeviceStructure\": " + getParentDeviceStructure());
+        sb.append(", \"index\": "                 + getIndex());
+        sb.append(", \"description\": "           + getDescription());
+        sb.append(", \"comment\": "               + getComment());
+        sb.append("}");
+        return sb.toString();
+    }
+
+}
diff --git a/src/main/java/org/openepics/names/rest/controller/NamesController.java b/src/main/java/org/openepics/names/rest/controller/NamesController.java
index 6b890f0d34d3bcdae814d21a0f56852b23f5a9f4..24c13f22bb7188c5d5185e350e8fc5af32d10728 100644
--- a/src/main/java/org/openepics/names/rest/controller/NamesController.java
+++ b/src/main/java/org/openepics/names/rest/controller/NamesController.java
@@ -28,6 +28,9 @@ import org.openepics.names.rest.api.v1.INames;
 import org.openepics.names.rest.beans.FieldName;
 import org.openepics.names.rest.beans.element.NameElement;
 import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandConfirm;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
+import org.openepics.names.rest.beans.element.NameElementCommandUpdate;
 import org.openepics.names.rest.beans.response.Response;
 import org.openepics.names.rest.beans.response.ResponseBoolean;
 import org.openepics.names.rest.beans.response.ResponseBooleanList;
@@ -35,6 +38,8 @@ import org.openepics.names.rest.beans.response.ResponsePageNameElements;
 import org.openepics.names.service.LogService;
 import org.openepics.names.service.NamesService;
 import org.openepics.names.util.ExcelUtil;
+import org.openepics.names.util.NameCommand;
+import org.openepics.names.util.NameElementUtil;
 import org.openepics.names.util.TextUtil;
 import org.openepics.names.util.ValidateNameElementUtil;
 import org.openepics.names.util.ValidateUtil;
@@ -88,14 +93,16 @@ public class NamesController implements INames {
     }
 
     @Override
-    public ResponseEntity<List<NameElement>> createNames(List<NameElementCommand> nameElements) {
+    public ResponseEntity<List<NameElement>> createNames(List<NameElementCommandCreate> nameElementCommands) {
         // validate authority - user & admin
+        // convert
         // validate
         // create names
 
         try {
-            namesService.validateNamesCreate(nameElements);
-            return new ResponseEntity<>(namesService.createNames(nameElements, TextUtil.TEST_WHO), Response.getHeaderJson(), HttpStatus.CREATED);
+            List<NameElementCommand> commands = NameElementUtil.getNameElementCommandsForCreate(nameElementCommands);
+            namesService.validateNamesCreate(commands);
+            return new ResponseEntity<>(namesService.createNames(commands, TextUtil.TEST_WHO), Response.getHeaderJson(), HttpStatus.CREATED);
         } catch (ServiceException e) {
             logService.logServiceException(LOGGER, Level.WARNING, e);
             logService.logStackTraceElements(LOGGER, Level.WARNING, e);
@@ -110,15 +117,16 @@ public class NamesController implements INames {
     public ResponseEntity<Resource> createNames(MultipartFile file) {
         // validate authority - user & admin
         // convert from input
+        // ( convert )
         // validate
         // create names
         // convert to output
 
         try {
              if (ExcelUtil.hasExcelFormat(file)) {
-                 List<NameElementCommand> nameElementCommands = ExcelUtil.excelToNameElementCommands(file.getInputStream());
-                 namesService.validateNamesCreate(nameElementCommands);
-                 List<NameElement> nameElements = namesService.createNames(nameElementCommands, TextUtil.TEST_WHO);
+                 List<NameElementCommand> commands = ExcelUtil.excelToNameElementCommands(file.getInputStream(), NameCommand.CREATE);
+                 namesService.validateNamesCreate(commands);
+                 List<NameElement> nameElements = namesService.createNames(commands, TextUtil.TEST_WHO);
                  InputStreamResource isr = new InputStreamResource(ExcelUtil.nameElementsToExcel(nameElements));
                  return ResponseEntity.ok()
                          .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_NAME_ELEMENT_XLSX)
@@ -343,15 +351,16 @@ public class NamesController implements INames {
     // ----------------------------------------------------------------------------------------------------
 
     @Override
-    public ResponseEntity<ResponseBooleanList> validateNamesCreate(List<NameElementCommand> nameElements) {
+    public ResponseEntity<ResponseBooleanList> validateNamesCreate(List<NameElementCommandCreate> nameElementCommands) {
         // validate
 
+        List<NameElementCommand> commands = NameElementUtil.getNameElementCommandsForCreate(nameElementCommands);
         boolean response = true;
         String reason = "";
         List<ResponseBoolean> responses = Lists.newArrayList();
-        for (NameElementCommand nameElement : nameElements) {
+        for (NameElementCommand command : commands) {
             try {
-                namesService.validateNamesCreate(nameElement);
+                namesService.validateNamesCreate(command);
                 responses.add(new ResponseBoolean(Boolean.TRUE));
             } catch (ServiceException e) {
                 logService.logServiceException(LOGGER, Level.WARNING, e);
@@ -374,15 +383,16 @@ public class NamesController implements INames {
     }
 
     @Override
-    public ResponseEntity<ResponseBooleanList> validateNamesUpdate(List<NameElementCommand> nameElements) {
+    public ResponseEntity<ResponseBooleanList> validateNamesUpdate(List<NameElementCommandUpdate> nameElementCommands) {
         // validate
 
+        List<NameElementCommand> commands = NameElementUtil.getNameElementCommandsForUpdate(nameElementCommands);
         boolean response = true;
         String reason = "";
         List<ResponseBoolean> responses = Lists.newArrayList();
-        for (NameElementCommand nameElement : nameElements) {
+        for (NameElementCommand command : commands) {
             try {
-                namesService.validateNamesUpdate(nameElement);
+                namesService.validateNamesUpdate(command);
                 responses.add(new ResponseBoolean(Boolean.TRUE));
             } catch (ServiceException e) {
                 logService.logServiceException(LOGGER, Level.WARNING, e);
@@ -405,15 +415,16 @@ public class NamesController implements INames {
     }
 
     @Override
-    public ResponseEntity<ResponseBooleanList> validateNamesDelete(List<NameElementCommand> nameElements) {
+    public ResponseEntity<ResponseBooleanList> validateNamesDelete(List<NameElementCommandConfirm> nameElementCommands) {
         // validate
 
+        List<NameElementCommand> commands = NameElementUtil.getNameElementCommandsForConfirm(nameElementCommands);
         boolean response = true;
         String reason = "";
         List<ResponseBoolean> responses = Lists.newArrayList();
-        for (NameElementCommand nameElement : nameElements) {
+        for (NameElementCommand command : commands) {
             try {
-                namesService.validateNamesDelete(nameElement);
+                namesService.validateNamesDelete(command);
                 responses.add(new ResponseBoolean(Boolean.TRUE));
             } catch (ServiceException e) {
                 logService.logServiceException(LOGGER, Level.WARNING, e);
@@ -438,14 +449,16 @@ public class NamesController implements INames {
     // ----------------------------------------------------------------------------------------------------
 
     @Override
-    public List<NameElement> updateNames(List<NameElementCommand> nameElements) {
+    public List<NameElement> updateNames(List<NameElementCommandUpdate> nameElementCommands) {
         // validate authority - user & admin
+        // convert
         // validate
         // update names
 
         try {
-            namesService.validateNamesUpdate(nameElements);
-            return namesService.updateNames(nameElements, TextUtil.TEST_WHO);
+            List<NameElementCommand> commands = NameElementUtil.getNameElementCommandsForUpdate(nameElementCommands);
+            namesService.validateNamesUpdate(commands);
+            return namesService.updateNames(commands, TextUtil.TEST_WHO);
         } catch (ServiceException e) {
             logService.logServiceException(LOGGER, Level.WARNING, e);
             logService.logStackTraceElements(LOGGER, Level.WARNING, e);
@@ -460,15 +473,16 @@ public class NamesController implements INames {
     public ResponseEntity<Resource> updateNames(MultipartFile file) {
         // validate authority - user & admin
         // convert from input
+        // ( convert )
         // validate
         // update names
         // convert to output
 
         try {
             if (ExcelUtil.hasExcelFormat(file)) {
-                List<NameElementCommand> nameElementCommands = ExcelUtil.excelToNameElementCommands(file.getInputStream());
-                namesService.validateNamesUpdate(nameElementCommands);
-                List<NameElement> nameElements = namesService.updateNames(nameElementCommands, TextUtil.TEST_WHO);
+                List<NameElementCommand> commands = ExcelUtil.excelToNameElementCommands(file.getInputStream(), NameCommand.UPDATE);
+                namesService.validateNamesUpdate(commands);
+                List<NameElement> nameElements = namesService.updateNames(commands, TextUtil.TEST_WHO);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.nameElementsToExcel(nameElements));
                 return ResponseEntity.ok()
                         .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_NAME_ELEMENT_XLSX)
@@ -493,14 +507,16 @@ public class NamesController implements INames {
     // ----------------------------------------------------------------------------------------------------
 
     @Override
-    public List<NameElement> deleteNames(List<NameElementCommand> nameElements) {
+    public List<NameElement> deleteNames(List<NameElementCommandConfirm> nameElementCommands) {
         // validate authority - user & admin
+        // convert
         // validate
         // delete names
 
         try {
-          namesService.validateNamesDelete(nameElements);
-          return namesService.deleteNames(nameElements, TextUtil.TEST_WHO);
+            List<NameElementCommand> commands = NameElementUtil.getNameElementCommandsForConfirm(nameElementCommands);
+            namesService.validateNamesDelete(commands);
+            return namesService.deleteNames(commands, TextUtil.TEST_WHO);
         } catch (ServiceException e) {
             logService.logServiceException(LOGGER, Level.WARNING, e);
             logService.logStackTraceElements(LOGGER, Level.WARNING, e);
@@ -515,15 +531,16 @@ public class NamesController implements INames {
     public ResponseEntity<Resource> deleteNames(MultipartFile file) {
         // validate authority - user & admin
         // convert from input
+        // ( convert )
         // validate
         // delete names
         // convert to output
 
         try {
             if (ExcelUtil.hasExcelFormat(file)) {
-                List<NameElementCommand> nameElementCommands = ExcelUtil.excelToNameElementCommands(file.getInputStream());
-                namesService.validateNamesDelete(nameElementCommands);
-                List<NameElement> nameElements = namesService.deleteNames(nameElementCommands, TextUtil.TEST_WHO);
+                List<NameElementCommand> commands = ExcelUtil.excelToNameElementCommands(file.getInputStream(), NameCommand.DELETE);
+                namesService.validateNamesDelete(commands);
+                List<NameElement> nameElements = namesService.deleteNames(commands, TextUtil.TEST_WHO);
                 InputStreamResource isr = new InputStreamResource(ExcelUtil.nameElementsToExcel(nameElements));
                 return ResponseEntity.ok()
                         .header(HttpHeaders.CONTENT_DISPOSITION, ATTACHMENT_FILENAME_NAME_ELEMENT_XLSX)
diff --git a/src/main/java/org/openepics/names/service/NamesService.java b/src/main/java/org/openepics/names/service/NamesService.java
index ba27edcbcb90035ff668ed0af1245049016b1120..2de0369aaa52912f11511fc120fbe26ba516c6fa 100644
--- a/src/main/java/org/openepics/names/service/NamesService.java
+++ b/src/main/java/org/openepics/names/service/NamesService.java
@@ -139,7 +139,7 @@ public class NamesService {
     }
 
     @Transactional
-    public List<NameElement> createNames(List<NameElementCommand> nameElements, String username) {
+    public List<NameElement> createNames(List<NameElementCommand> nameElementCommands, String username) {
         // validation outside method
         // transaction
         //     for each name element
@@ -153,12 +153,12 @@ public class NamesService {
 
         Date when = new Date();
         final List<NameElement> createdNameElements = Lists.newArrayList();
-        for (NameElementCommand nameElement : nameElements) {
-            NameElement createdNameElement = createName(nameElement, when, username, holder);
+        for (NameElementCommand nameElementCommand : nameElementCommands) {
+            NameElement createdNameElement = createName(nameElementCommand, when, username, holder);
             createdNameElements.add(createdNameElement);
 
             if (LOGGER.isLoggable(Level.FINER)) {
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_NAME, TextUtil.ELEMENT_IN, nameElement));
+                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_NAME, TextUtil.ELEMENT_IN, nameElementCommand));
                 LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_NAME, TextUtil.ELEMENT_OUT, createdNameElement));
             }
         }
@@ -167,38 +167,48 @@ public class NamesService {
                 () -> MessageFormat.format(
                         TextUtil.DESCRIPTION_NUMBER_ELEMENTS_IN_OUT,
                         "Create names",
-                        nameElements.size(),
+                        nameElementCommands.size(),
                         createdNameElements.size()));
         return createdNameElements;
     }
     @Transactional(propagation = Propagation.MANDATORY)
-    public NameElement createName(NameElementCommand nameElement, Date when, String username, HolderSystemDeviceStructure holder) {
+    public NameElement createName(NameElementCommand nameElementCommand, Date when, String username, HolderSystemDeviceStructure holder) {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
+        //     attributes
         //     find
         //     prepare
         //     create - approved, latest, not deleted, uuid
         //     return name element for created name
+        //
+        // attributes
+        //     parentSystemStructure, parentDeviceStructure, index, description, comment
+
+        UUID parentSystemStructure = nameElementCommand.getParentSystemStructure();
+        UUID parentDeviceStructure = nameElementCommand.getParentDeviceStructure();
+        String index = nameElementCommand.getIndex();
+        String description = nameElementCommand.getDescription();
+        String comment = nameElementCommand.getComment();
 
         // find
         //     system structure - system group, system, subsystem - one of the three expected to be non-null, other two expected to be null
         //     device structure - device type - may be null
-        SystemGroup systemGroup = holderIRepositories.getSystemGroupRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
-        System      system      = holderIRepositories.getSystemRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
-        Subsystem   subsystem   = holderIRepositories.getSubsystemRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
+        SystemGroup systemGroup = holderIRepositories.getSystemGroupRepository().findLatestByUuid(parentSystemStructure.toString());
+        System      system      = holderIRepositories.getSystemRepository().findLatestByUuid(parentSystemStructure.toString());
+        Subsystem   subsystem   = holderIRepositories.getSubsystemRepository().findLatestByUuid(parentSystemStructure.toString());
         DeviceType  deviceType  = null;
-        if (nameElement.getParentDeviceStructure() != null) {
-            deviceType = holderIRepositories.getDeviceTypeRepository().findLatestByUuid(nameElement.getParentDeviceStructure().toString());
+        if (parentDeviceStructure != null) {
+            deviceType = holderIRepositories.getDeviceTypeRepository().findLatestByUuid(parentDeviceStructure.toString());
         }
 
         String derivedName = null;
         if (systemGroup != null) {
-            derivedName = NameUtil.getName(systemGroup, deviceType, nameElement.getIndex(), holder);
+            derivedName = NameUtil.getName(systemGroup, deviceType, index, holder);
         } else if (system != null) {
-            derivedName = NameUtil.getName(system, deviceType, nameElement.getIndex(), holder);
+            derivedName = NameUtil.getName(system, deviceType, index, holder);
         } else if (subsystem != null) {
-            derivedName = NameUtil.getName(subsystem, deviceType, nameElement.getIndex(), holder);
+            derivedName = NameUtil.getName(subsystem, deviceType, index, holder);
         }
 
         // create
@@ -206,10 +216,10 @@ public class NamesService {
                 systemGroup != null ? systemGroup.getUuid() : null,
                 system != null ? system.getUuid() : null,
                 subsystem != null ? subsystem.getUuid() : null,
-                nameElement.getParentDeviceStructure(),
-                nameElement.getIndex(), derivedName, namingConvention.equivalenceClassRepresentative(derivedName),
-                nameElement.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
-                when, username, nameElement.getComment());
+                parentDeviceStructure,
+                index, derivedName, namingConvention.equivalenceClassRepresentative(derivedName),
+                description, Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
+                when, username, comment);
         nameRepository.createName(name);
 
         return NameElementUtil.getNameElement(name);
@@ -525,10 +535,11 @@ public class NamesService {
     // ----------------------------------------------------------------------------------------------------
 
     @Transactional
-    public List<NameElement> updateNames(List<NameElementCommand> nameElements, String username) {
+    public List<NameElement> updateNames(List<NameElementCommand> nameElementCommands, String username) {
         // validation outside method
         // transaction
         //     for each name element
+        //         attributes
         //         find
         //         update name to not latest
         //         find
@@ -536,24 +547,34 @@ public class NamesService {
         //         handle name element for updated name
         //     no notify
         //     return name elements for updated names
+        //
+        // attributes
+        //     uuid, parentSystemStructure, parentDeviceStructure, index, description, comment
 
         // initiate holder of containers for system and device structure content, for performance reasons
         HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
 
         Date when = new Date();
         final List<NameElement> updatedNameElements = Lists.newArrayList();
-        for (NameElementCommand nameElement : nameElements) {
+        for (NameElementCommand nameElementCommand : nameElementCommands) {
             // update not latest, not deleted
             // create latest, not deleted
 
-            Name name = holderIRepositories.getNameRepository().findLatestByUuid(nameElement.getUuid().toString());
+            UUID uuid = nameElementCommand.getUuid();
+            UUID parentSystemStructure = nameElementCommand.getParentSystemStructure();
+            UUID parentDeviceStructure = nameElementCommand.getParentDeviceStructure();
+            String index = nameElementCommand.getIndex();
+            String description = nameElementCommand.getDescription();
+            String comment = nameElementCommand.getComment();
+
+            Name name = holderIRepositories.getNameRepository().findLatestByUuid(uuid.toString());
             if (name == null) {
                 continue;
             }
 
             // skip if name element has same content as name
             //     proceed without fail
-            if (NameElementUtil.hasSameContent(nameElement, name, holderIRepositories, holder)) {
+            if (NameElementUtil.hasSameContent(nameElementCommand, name, holderIRepositories, holder)) {
                 continue;
             }
 
@@ -563,39 +584,39 @@ public class NamesService {
 
             // find out system group, system, subsystem
             //     one of the three expected to be non-null, other two expected to be null
-            SystemGroup systemGroup = holderIRepositories.getSystemGroupRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
-            System      system      = holderIRepositories.getSystemRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
-            Subsystem   subsystem   = holderIRepositories.getSubsystemRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
+            SystemGroup systemGroup = holderIRepositories.getSystemGroupRepository().findLatestByUuid(parentSystemStructure.toString());
+            System      system      = holderIRepositories.getSystemRepository().findLatestByUuid(parentSystemStructure.toString());
+            Subsystem   subsystem   = holderIRepositories.getSubsystemRepository().findLatestByUuid(parentSystemStructure.toString());
             DeviceType  deviceType  = null;
-            if (nameElement.getParentDeviceStructure() != null) {
-                deviceType  = holderIRepositories.getDeviceTypeRepository().findLatestByUuid(nameElement.getParentDeviceStructure().toString());
+            if (parentDeviceStructure != null) {
+                deviceType  = holderIRepositories.getDeviceTypeRepository().findLatestByUuid(parentDeviceStructure.toString());
             }
 
             String derivedName = null;
             if (systemGroup != null) {
-                derivedName = NameUtil.getName(systemGroup, deviceType, nameElement.getIndex(), holder);
+                derivedName = NameUtil.getName(systemGroup, deviceType, index, holder);
             } else if (system != null) {
-                derivedName = NameUtil.getName(system, deviceType, nameElement.getIndex(), holder);
+                derivedName = NameUtil.getName(system, deviceType, index, holder);
             } else if (subsystem != null) {
-                derivedName = NameUtil.getName(subsystem, deviceType, nameElement.getIndex(), holder);
+                derivedName = NameUtil.getName(subsystem, deviceType, index, holder);
             }
 
             // create
-            name = new Name(nameElement.getUuid(),
+            name = new Name(uuid,
                     systemGroup != null ? systemGroup.getUuid() : null,
                     system != null ? system.getUuid() : null,
                     subsystem != null ? subsystem.getUuid() : null,
-                    nameElement.getParentDeviceStructure(),
-                    nameElement.getIndex(), derivedName, namingConvention.equivalenceClassRepresentative(derivedName),
-                    nameElement.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
-                    when, username, nameElement.getComment());
+                    parentDeviceStructure,
+                    index, derivedName, namingConvention.equivalenceClassRepresentative(derivedName),
+                    description, Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
+                    when, username, comment);
             nameRepository.createName(name);
 
             NameElement updatedNameElement = NameElementUtil.getNameElement(name);
             updatedNameElements.add(updatedNameElement);
 
             if (LOGGER.isLoggable(Level.FINER)) {
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_NAME, TextUtil.ELEMENT_IN, nameElement));
+                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_NAME, TextUtil.ELEMENT_IN, nameElementCommand));
                 LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_NAME, TextUtil.ELEMENT_OUT, updatedNameElement));
             }
         }
@@ -604,7 +625,7 @@ public class NamesService {
                 () -> MessageFormat.format(
                         TextUtil.DESCRIPTION_NUMBER_ELEMENTS_IN_OUT,
                         "Update names",
-                        nameElements.size(),
+                        nameElementCommands.size(),
                         updatedNameElements.size()));
         return updatedNameElements;
     }
@@ -713,25 +734,28 @@ public class NamesService {
     // ----------------------------------------------------------------------------------------------------
 
     @Transactional
-    public List<NameElement> deleteNames(List<NameElementCommand> nameElements, String username) {
+    public List<NameElement> deleteNames(List<NameElementCommand> nameElementCommands, String username) {
         // validation outside method
         // transaction
         //     for each name element
+        //         attributes
         //         find
         //         update name to not latest
-        //         find
         //         insert name to latest, deleted
         //         handle name element for deleted name
         //     no notify
         //     return name elements for deleted names
-
-        // initiate holder of containers for system and device structure content, for performance reasons
-        HolderSystemDeviceStructure holder = new HolderSystemDeviceStructure(holderIRepositories);
+        //
+        // attributes
+        //     uuid, comment
 
         Date when = new Date();
         final List<NameElement> deletedNameElements = Lists.newArrayList();
-        for (NameElementCommand nameElement : nameElements) {
-            Name name = holderIRepositories.getNameRepository().findLatestByUuid(nameElement.getUuid().toString());
+        for (NameElementCommand nameElementCommand : nameElementCommands) {
+            UUID uuid = nameElementCommand.getUuid();
+            String comment = nameElementCommand.getComment();
+
+            Name name = holderIRepositories.getNameRepository().findLatestByUuid(uuid.toString());
             if (name == null) {
                 continue;
             }
@@ -739,40 +763,21 @@ public class NamesService {
             name.setLatest(Boolean.FALSE);
             nameRepository.updateName(name);
 
-            // find out system group, system, subsystem
-            //     one of the three expected to be non-null, other two expected to be null
-            SystemGroup systemGroup = holderIRepositories.getSystemGroupRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
-            System      system      = holderIRepositories.getSystemRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
-            Subsystem   subsystem   = holderIRepositories.getSubsystemRepository().findLatestByUuid(nameElement.getParentSystemStructure().toString());
-            DeviceType  deviceType  = null;
-            if (nameElement.getParentDeviceStructure() != null) {
-                deviceType  = holderIRepositories.getDeviceTypeRepository().findLatestByUuid(nameElement.getParentDeviceStructure().toString());
-            }
-
-            String derivedName = null;
-            if (systemGroup != null) {
-                derivedName = NameUtil.getName(systemGroup, deviceType, nameElement.getIndex(), holder);
-            } else if (system != null) {
-                derivedName = NameUtil.getName(system, deviceType, nameElement.getIndex(), holder);
-            } else if (subsystem != null) {
-                derivedName = NameUtil.getName(subsystem, deviceType, nameElement.getIndex(), holder);
-            }
-
-            name = new Name(nameElement.getUuid(),
-                    systemGroup != null ? systemGroup.getUuid() : null,
-                    system != null ? system.getUuid() : null,
-                    subsystem != null ? subsystem.getUuid() : null,
-                    nameElement.getParentDeviceStructure(),
-                    nameElement.getIndex(), derivedName, namingConvention.equivalenceClassRepresentative(derivedName),
-                    nameElement.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE,
-                    when, username, nameElement.getComment());
+            name = new Name(uuid,
+                    name.getSystemGroupUuid(),
+                    name.getSystemUuid(),
+                    name.getSubsystemUuid(),
+                    name.getDeviceTypeUuid(),
+                    name.getInstanceIndex(), name.getConventionName(), name.getConventionNameEquivalence(),
+                    name.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE,
+                    when, username, comment);
             nameRepository.createName(name);
 
             NameElement deletedNameElement = NameElementUtil.getNameElement(name);
             deletedNameElements.add(deletedNameElement);
 
             if (LOGGER.isLoggable(Level.FINER)) {
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_NAME, TextUtil.ELEMENT_IN, nameElement));
+                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_NAME, TextUtil.ELEMENT_IN, nameElementCommand));
                 LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_NAME, TextUtil.ELEMENT_OUT, deletedNameElement));
             }
         }
@@ -781,7 +786,7 @@ public class NamesService {
                 () -> MessageFormat.format(
                         TextUtil.DESCRIPTION_NUMBER_ELEMENTS_IN_OUT,
                         "Delete names",
-                        nameElements.size(),
+                        nameElementCommands.size(),
                         deletedNameElements.size()));
         return deletedNameElements;
     }
diff --git a/src/main/java/org/openepics/names/util/ExcelUtil.java b/src/main/java/org/openepics/names/util/ExcelUtil.java
index 173fadbbe5f726dec73d81019288bb488714d3fe..5dfb471ed4cb8b30bfa8be4aa6e44039d7b9d350 100644
--- a/src/main/java/org/openepics/names/util/ExcelUtil.java
+++ b/src/main/java/org/openepics/names/util/ExcelUtil.java
@@ -136,17 +136,33 @@ public class ExcelUtil {
     }
 
     /**
-     * Utility method to convert an Excel file to a list of name elements.
+     * Utility method to convert an Excel file to a list of name element commands.
      *
      * @param is input stream
      * @return list of name elements
      */
     public static List<NameElementCommand> excelToNameElementCommands(InputStream is) {
+        return excelToNameElementCommands(is, null);
+    }
+
+    /**
+     * Utility method to convert an Excel file to a list of name element commands given how Excel file is to be interpreted.
+     *
+     * @param is input stream
+     * @param nameCommand name command
+     * @return list of name elements
+     */
+    public static List<NameElementCommand> excelToNameElementCommands(InputStream is, NameCommand nameCommand) {
         // rules for conversion
         //     Excel as NameElementCommand accepted
-        //     Excel as NameElement not accepted
+        //     ( Excel as NameElement accepted )
         //     see validateHeaderNameElementCommand
 
+        // NameElementCommand
+        //     create -       parentSystemStructure, parentDeviceStructure, index, description, comment
+        //	   update - uuid, parentSystemStructure, parentDeviceStructure, index, description, comment
+        //	   delete - uuid,                                                                   comment
+
         int rowIndex = 0;
         int columnIndex = 0;
 
@@ -224,17 +240,33 @@ public class ExcelUtil {
     }
 
     /**
-     * Utility method to convert an Excel file to a list of structure elements.
+     * Utility method to convert an Excel file to a list of structure element commands.
      *
      * @param is input stream
      * @return list of structure elements
      */
     public static List<StructureElementCommand> excelToStructureElementCommands(InputStream is) {
+        return excelToStructureElementCommands(is, null);
+    }
+
+    /**
+     * Utility method to convert an Excel file to a list of structure element commands given how Excel file is to be interpreted..
+     *
+     * @param is input stream
+     * @param structureCommand structure command
+     * @return list of structure elements
+     */
+    public static List<StructureElementCommand> excelToStructureElementCommands(InputStream is, StructureCommand structureCommand) {
         // rules for conversion
         //     Excel as StructureElementCommand accepted
-        //     Excel as StructureElement not accepted
+        //     ( Excel as StructureElement accepted )
         //     see validateHeaderStructureElementCommand
 
+        // StructureElementCommand
+        //     create -       type, parent, name, mnemonic, description, comment
+        //	   update - uuid, type, parent, name, mnemonic, description, comment
+        //	   delete - uuid, type                                       comment
+
         int rowIndex = 0;
         int columnIndex = 0;
 
diff --git a/src/main/java/org/openepics/names/util/NameElementUtil.java b/src/main/java/org/openepics/names/util/NameElementUtil.java
index a945be923ff5671d109f47b249a15d76a36eff1c..de09deda5537cc6c36bb2a6931991ae7787a8aeb 100644
--- a/src/main/java/org/openepics/names/util/NameElementUtil.java
+++ b/src/main/java/org/openepics/names/util/NameElementUtil.java
@@ -30,6 +30,9 @@ import org.openepics.names.repository.model.SystemGroup;
 import org.openepics.names.rest.beans.Status;
 import org.openepics.names.rest.beans.element.NameElement;
 import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandConfirm;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
+import org.openepics.names.rest.beans.element.NameElementCommandUpdate;
 
 import com.google.common.collect.Lists;
 
@@ -133,6 +136,97 @@ public class NameElementUtil {
                 when, who);
     }
 
+    /**
+     * Populate and return list of name element commands given list of name element commands for create.
+     *
+     * @param commands name element commands for create
+     * @return list of name element commands
+     */
+    public static List<NameElementCommand> getNameElementCommandsForCreate(List<NameElementCommandCreate> commands) {
+        List<NameElementCommand> nameElementCommands = Lists.newArrayList();
+        for (NameElementCommandCreate command : commands) {
+            nameElementCommands.add(NameElementUtil.getNameElementCommand(command));
+        }
+        return nameElementCommands;
+    }
+
+    /**
+     * Populate and return list of name element commands given list of name element commands for update.
+     *
+     * @param commands name element commands for create
+     * @return list of name element commands
+     */
+    public static List<NameElementCommand> getNameElementCommandsForUpdate(List<NameElementCommandUpdate> commands) {
+        List<NameElementCommand> nameElementCommands = Lists.newArrayList();
+        for (NameElementCommandUpdate command : commands) {
+            nameElementCommands.add(NameElementUtil.getNameElementCommand(command));
+        }
+        return nameElementCommands;
+    }
+
+    /**
+     * Populate and return list of name element commands given list of name element commands for confirm.
+     *
+     * @param commands name element commands for create
+     * @return list of name element commands
+     */
+    public static List<NameElementCommand> getNameElementCommandsForConfirm(List<NameElementCommandConfirm> commands) {
+        List<NameElementCommand> nameElementCommands = Lists.newArrayList();
+        for (NameElementCommandConfirm command : commands) {
+            nameElementCommands.add(NameElementUtil.getNameElementCommand(command));
+        }
+        return nameElementCommands;
+    }
+
+
+    /**
+     * Return name element command given name element command for create.
+     *
+     * @param nameElementCommand name element command
+     * @return name element command
+     */
+    public static NameElementCommand getNameElementCommand(NameElementCommandCreate nameElementCommand) {
+        return new NameElementCommand(
+                null,
+                nameElementCommand.getParentSystemStructure(),
+                nameElementCommand.getParentDeviceStructure(),
+                nameElementCommand.getIndex(),
+                nameElementCommand.getDescription(),
+                nameElementCommand.getComment());
+    }
+
+    /**
+     * Return name element command given name element command for update.
+     *
+     * @param nameElementCommand name element command
+     * @return name element command
+     */
+    public static NameElementCommand getNameElementCommand(NameElementCommandUpdate nameElementCommand) {
+        return new NameElementCommand(
+                nameElementCommand.getUuid(),
+                nameElementCommand.getParentSystemStructure(),
+                nameElementCommand.getParentDeviceStructure(),
+                nameElementCommand.getIndex(),
+                nameElementCommand.getDescription(),
+                nameElementCommand.getComment());
+    }
+
+    /**
+     * Return name element command given name element command for confirm.
+     *
+     * @param nameElementCommand name element command
+     * @return name element command
+     */
+    public static NameElementCommand getNameElementCommand(NameElementCommandConfirm nameElementCommand) {
+        return new NameElementCommand(
+                nameElementCommand.getUuid(),
+                null,
+                null,
+                null,
+                null,
+                nameElementCommand.getComment());
+    }
+
     /**
      * Check if name element and name have same content.
      *
diff --git a/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java b/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
index 212cacd3545111c571320b153003fc44d67ad749..ea6a219818b0c0c82b75457b35f96fd147537b3a 100644
--- a/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
+++ b/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
@@ -50,9 +50,9 @@ public class ValidateNameElementUtil {
     //         description, status, latest, deleted, when, who, comment
     //
     //     NameElementCommand
-    //	       create -       parentSystemStructure, parentDeviceStructure (optional), index, description, comment
-    //	       update - uuid, parentSystemStructure, parentDeviceStructure (optional), index, description, comment
-    //	       delete - uuid,                                                                              comment
+    //	       create -       parentSystemStructure, parentDeviceStructure, index, description, comment
+    //	       update - uuid, parentSystemStructure, parentDeviceStructure, index, description, comment
+    //	       delete - uuid,                                                                   comment
 
     /**
      * This class is not to be instantiated.
@@ -90,58 +90,56 @@ public class ValidateNameElementUtil {
     }
 
     /**
-     * Validate name element parameters (input) for create.
+     * Validate name element command parameters (input) for create.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      */
-    public static void validateNameElementInputCreate(NameElementCommand nameElement) {
-        validateNameElementInput(nameElement, NameCommand.CREATE);
+    public static void validateNameElementInputCreate(NameElementCommand nameElementCommand) {
+        validateNameElementInput(nameElementCommand, NameCommand.CREATE);
     }
 
     /**
-     * Validate name element parameters (input) for update.
+     * Validate name element command parameters (input) for update.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      */
-    public static void validateNameElementInputUpdate(NameElementCommand nameElement) {
-        validateNameElementInput(nameElement, NameCommand.UPDATE);
+    public static void validateNameElementInputUpdate(NameElementCommand nameElementCommand) {
+        validateNameElementInput(nameElementCommand, NameCommand.UPDATE);
     }
 
     /**
-     * Validate name element parameters (input) for delete.
+     * Validate name element command parameters (input) for delete.
      *
-     * @param nameElement name element
+     * @param nameElement name element command
      */
-    public static void validateNameElementInputDelete(NameElementCommand nameElement) {
-        validateNameElementInput(nameElement, NameCommand.DELETE);
+    public static void validateNameElementInputDelete(NameElementCommand nameElementCommand) {
+        validateNameElementInput(nameElementCommand, NameCommand.DELETE);
     }
 
     /**
-     * Validate name element parameters (input).
+     * Validate name element command parameters (input).
      *
-     * @param nameElement name element
+     * @param nameElement name element command
      * @param nameCommand name command
      */
-    private static void validateNameElementInput(NameElementCommand nameElement, NameCommand nameCommand) {
-        // attributes
-        //     uuid                            - required if not create, required empty if create
-        //     parentSystemStructure (uuid)
-        //     parentDeviceStructure (uuid)
-        //     index
-        //     description
-        //     comment
-
-        if (ValidateUtil.isAnyNull(nameElement, nameCommand)) {
+    private static void validateNameElementInput(NameElementCommand nameElementCommand, NameCommand nameCommand) {
+        // command - attributes
+        //     create -       parentSystemStructure, parentDeviceStructure, index, description, comment
+        //	   update - uuid, parentSystemStructure, parentDeviceStructure, index, description, comment
+        //	   delete - uuid,                                                                   comment
+        //
+        //     create, update - optional - parentDeviceStructure, index
+
+        if (ValidateUtil.isAnyNull(nameElementCommand, nameCommand)) {
             return;
         }
 
-        UUID uuid = nameElement.getUuid();
-        UUID parentSystemStructure = nameElement.getParentSystemStructure();
-        UUID parentDeviceStructure = nameElement.getParentDeviceStructure();
-
-        String index = nameElement.getIndex();
-        String description = nameElement.getDescription();
-        String comment = nameElement.getComment();
+        UUID uuid = nameElementCommand.getUuid();
+        UUID parentSystemStructure = nameElementCommand.getParentSystemStructure();
+        UUID parentDeviceStructure = nameElementCommand.getParentDeviceStructure();
+        String index = nameElementCommand.getIndex();
+        String description = nameElementCommand.getDescription();
+        String comment = nameElementCommand.getComment();
 
         if (NameCommand.CREATE.equals(nameCommand)) {
             ExceptionUtil.validateConditionInputNotEmptyException(uuid == null,
@@ -152,15 +150,15 @@ public class ValidateNameElementUtil {
 
         if (!NameCommand.DELETE.equals(nameCommand)) {
             ExceptionUtil.validateConditionInputNotAvailableException(parentSystemStructure != null,
-                    TextUtil.VALUE_IS_NOT_AVAILABLE, nameElement.toString(), TextUtil.PARENTSYSTEMSTRUCTURE);
+                    TextUtil.VALUE_IS_NOT_AVAILABLE, nameElementCommand.toString(), TextUtil.PARENTSYSTEMSTRUCTURE);
 
             // optional (either none or both)
             //     parentDeviceStructure
             // 	   index
             if (parentDeviceStructure != null && index == null) {
-                throw ExceptionUtil.createInputNotCorrectException(null, nameElement.toString(), TextUtil.INDEX);
+                throw ExceptionUtil.createInputNotCorrectException(null, nameElementCommand.toString(), TextUtil.INDEX);
             } else if (parentDeviceStructure == null && index != null) {
-                throw ExceptionUtil.createInputNotCorrectException(null, nameElement.toString(), TextUtil.PARENTDEVICESTRUCTURE);
+                throw ExceptionUtil.createInputNotCorrectException(null, nameElementCommand.toString(), TextUtil.PARENTDEVICESTRUCTURE);
             }
 
             ValidateUtil.validateInputDescription(description);
@@ -172,79 +170,83 @@ public class ValidateNameElementUtil {
     // ----------------------------------------------------------------------------------------------------
 
     /**
-     * Validate name element data for create.
+     * Validate name element command data for create.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @param namingConvention naming convention
      * @param holderIRepositories holder repositories
      * @param nameRepository name repository
      * @param holder holder
      */
-    public static void validateNameElementDataCreate(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
-        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.CREATE);
+    public static void validateNameElementDataCreate(NameElementCommand nameElementCommand, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
+        validateNameElementData(nameElementCommand, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.CREATE);
     }
 
     /**
-     * Validate name element data for update.
+     * Validate name element command data for update.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @param namingConvention naming convention
      * @param holderIRepositories holder repositories
      * @param nameRepository name repositories
      * @param holder holder
      */
-    public static void validateNameElementDataUpdate(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
-        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.UPDATE);
+    public static void validateNameElementDataUpdate(NameElementCommand nameElementCommand, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
+        validateNameElementData(nameElementCommand, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.UPDATE);
     }
 
     /**
-     * Validate name element data for delete.
+     * Validate name element command data for delete.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @param namingConvention naming convention
      * @param holderIRepositories holder repositories
      * @param nameRepository name repositories
      * @param holder holder
      */
-    public static void validateNameElementDataDelete(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
-        validateNameElementData(nameElement, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.DELETE);
+    public static void validateNameElementDataDelete(NameElementCommand nameElementCommand, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder) {
+        validateNameElementData(nameElementCommand, namingConvention, holderIRepositories, nameRepository, holder, NameCommand.DELETE);
     }
 
     /**
-     * Validate name element data.
+     * Validate name element command data.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @param namingConvention naming convention
      * @param holderIRepositories holder repositories
      * @param nameRepository name repository
      * @param holder holder
      * @param nameCommand name command
      */
-    private static void validateNameElementData(NameElementCommand nameElement, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder, NameCommand nameCommand) {
-        // attributes
-        //     uuid
-        //     parentSystemDtructure
-        //     parentDeviceDtructure
-        //     index
-        //     description
-        //     comment
+    private static void validateNameElementData(NameElementCommand nameElementCommand, EssNamingConvention namingConvention, HolderIRepositories holderIRepositories, NameRepository nameRepository, HolderSystemDeviceStructure holder, NameCommand nameCommand) {
+        // command - attributes
+        //     create -       parentSystemStructure, parentDeviceStructure, index, description, comment
+        //	   update - uuid, parentSystemStructure, parentDeviceStructure, index, description, comment
+        //	   delete - uuid,                                                                   comment
+        //
+        //     create, update - optional - parentDeviceStructure, index
         //
         // name
         //      - system structure uuid
         //    ( - system structure uuid, device structure uuid )
         //      - system structure uuid, device structure uuid, index
 
-        if (ValidateUtil.isAnyNull(nameElement, namingConvention, holderIRepositories, nameRepository, holder, nameCommand)) {
+        if (ValidateUtil.isAnyNull(nameElementCommand, namingConvention, holderIRepositories, nameRepository, holder, nameCommand)) {
             return;
         }
 
-        String details = nameElement.toString();
+        String details = nameElementCommand.toString();
+
+        UUID uuid = nameElementCommand.getUuid();
+        UUID parentSystemstructure = nameElementCommand.getParentSystemStructure();
+        UUID parentDevicestructure = nameElementCommand.getParentDeviceStructure();
+        String index = nameElementCommand.getIndex();
 
         // name
         //     update, delete - uuid available, not deleted
         //     retrieve for uuid and check
         if (ValidateUtil.isAnyEqual(nameCommand, NameCommand.UPDATE, NameCommand.DELETE)) {
-            List<Name> names = nameRepository.readNames(false, nameElement.getUuid().toString(), null, null, null, null, null, null);
+            List<Name> names = nameRepository.readNames(false, uuid.toString(), null, null, null, null, null, null);
             ExceptionUtil.validateConditionDataNotCorrectException(ValidateUtil.isSize(names, 1),
                     TextUtil.VALUE_IS_NOT_CORRECT, details, TextUtil.UUID);
         }
@@ -259,11 +261,6 @@ public class ValidateNameElementUtil {
 
         boolean condition = true;
 
-        UUID uuid = nameElement.getUuid();
-        UUID parentSystemstructure = nameElement.getParentSystemStructure();
-        UUID parentDevicestructure = nameElement.getParentDeviceStructure();
-        String index = nameElement.getIndex();
-
         if (ValidateUtil.isAnyEqual(nameCommand, NameCommand.CREATE, NameCommand.UPDATE)) {
             // systemgroup, system, subsystem - in repository
             //     found
diff --git a/src/test/java/org/openepics/names/docker/ITUtilNameElement.java b/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
index d5cd9249d938025d0fd874f6b96e86066aa1850d..fb9dfb647229bd3a3f003bb3bdb5148c159f4579 100644
--- a/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
+++ b/src/test/java/org/openepics/names/docker/ITUtilNameElement.java
@@ -37,6 +37,9 @@ import org.openepics.names.docker.ITUtil.EndpointChoice;
 import org.openepics.names.rest.beans.Status;
 import org.openepics.names.rest.beans.element.NameElement;
 import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandConfirm;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
+import org.openepics.names.rest.beans.element.NameElementCommandUpdate;
 import org.openepics.names.rest.beans.response.ResponseBoolean;
 import org.openepics.names.rest.beans.response.ResponseBooleanList;
 import org.openepics.names.rest.beans.response.ResponsePageNameElements;
@@ -64,12 +67,127 @@ public class ITUtilNameElement {
     // ----------------------------------------------------------------------------------------------------
 
     /**
-     * Return string for name element array.
+     * Utility method to return name element command for create given name element.
      *
-     * @param value name element array
-     * @return string for name element array
+     * @param nameElement name element
+     * @return name element command for create
+     */
+    static NameElementCommandCreate convert2NameElementCommandCreate(NameElement nameElement) {
+        return new NameElementCommandCreate(
+                nameElement.getParentSystemStructure(),
+                nameElement.getParentDeviceStructure(),
+                nameElement.getIndex(),
+                nameElement.getDescription(),
+                nameElement.getComment());
+    }
+
+    /**
+     * Utility method to return name element command for update given name element.
+     *
+     * @param nameElement name element
+     * @return name element command for update
+     */
+    static NameElementCommandUpdate convert2NameElementCommandUpdate(NameElement nameElement) {
+        return new NameElementCommandUpdate(
+                nameElement.getUuid(),
+                nameElement.getParentSystemStructure(),
+                nameElement.getParentDeviceStructure(),
+                nameElement.getIndex(),
+                nameElement.getDescription(),
+                nameElement.getComment());
+    }
+
+    /**
+     * Utility method to return name element command for confirm given name element.
+     *
+     * @param nameElement name element
+     * @return name element command for confirm
+     */
+    static NameElementCommandConfirm convert2NameElementCommandConfirm(NameElement nameElement) {
+        return new NameElementCommandConfirm(
+                nameElement.getUuid(),
+                nameElement.getComment());
+    }
+
+    /**
+     * Utility method to return name element commands for create given name elements.
+     *
+     * @param nameElements name elements
+     * @return name element commands for create
+     */
+    public static NameElementCommandCreate[] convert2NameElementCommandCreate(NameElement[] nameElements) {
+        NameElementCommandCreate[] nameElementCommandsCreate = new NameElementCommandCreate[nameElements.length];
+        for (int i=0; i<nameElements.length; i++) {
+            nameElementCommandsCreate[i] = convert2NameElementCommandCreate(nameElements[i]);
+        }
+        return nameElementCommandsCreate;
+    }
+
+    /**
+     * Utility method to return name element commands for update given name elements.
+     *
+     * @param nameElements name elements
+     * @return name element commands for update
+     */
+    public static NameElementCommandUpdate[] convert2NameElementCommandUpdate(NameElement[] nameElements) {
+        NameElementCommandUpdate[] nameElementCommandsUpdate = new NameElementCommandUpdate[nameElements.length];
+        for (int i=0; i<nameElements.length; i++) {
+            nameElementCommandsUpdate[i] =  convert2NameElementCommandUpdate(nameElements[i]);
+        }
+        return nameElementCommandsUpdate;
+    }
+
+    /**
+     * Utility method to return name element commands for confirm given name elements.
+     *
+     * @param nameElements name elements
+     * @return name element commands for confirm
+     */
+    public static NameElementCommandConfirm[] convert2NameElementCommandConfirm(NameElement[] nameElements) {
+        NameElementCommandConfirm[] nameElementCommandsConfirm = new NameElementCommandConfirm[nameElements.length];
+        for (int i=0; i<nameElements.length; i++) {
+            nameElementCommandsConfirm[i] = convert2NameElementCommandConfirm(nameElements[i]);
+        }
+        return nameElementCommandsConfirm;
+    }
+
+    // ----------------------------------------------------------------------------------------------------
+
+    /**
+     * Return string for name element command array.
+     *
+     * @param value name element command array
+     * @return string for name element command array
+     */
+    static String object2Json(NameElementCommandCreate[] value) {
+        try {
+            return mapper.writeValueAsString(value);
+        } catch (JsonProcessingException e) {
+            fail();
+        }
+        return null;
+    }
+    /**
+     * Return string for name element command array.
+     *
+     * @param value name element command array
+     * @return string for name element command array
      */
-    static String object2Json(NameElementCommand[] value) {
+    static String object2Json(NameElementCommandUpdate[] value) {
+        try {
+            return mapper.writeValueAsString(value);
+        } catch (JsonProcessingException e) {
+            fail();
+        }
+        return null;
+    }
+    /**
+     * Return string for name element command array.
+     *
+     * @param value name element command array
+     * @return string for name element command array
+     */
+    static String object2Json(NameElementCommandConfirm[] value) {
         try {
             return mapper.writeValueAsString(value);
         } catch (JsonProcessingException e) {
@@ -444,52 +562,92 @@ public class ITUtilNameElement {
     // --------------------
 
     /**
-     * Utility method to validate and assert expected response.
+     * Utility method to validate name element command for create and assert expected response.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @param nameCommand name command
      * @param index index
      * @param expected expected response
      */
-    public static void assertValidate(NameElementCommand nameElement, NameCommand nameCommand, String index, Boolean expected) {
-        nameElement.setIndex(index);
-        assertValidate(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement}, nameCommand, expected);
+    public static void assertValidate(NameElementCommandCreate nameElementCommand, NameCommand nameCommand, String index, Boolean expected) {
+        nameElementCommand.setIndex(index);
+        assertValidate(AuthorizationChoice.NONE, object2Json(new NameElementCommandCreate[] {nameElementCommand}), nameCommand, expected);
     }
     /**
-     * Utility method to validate name element and assert expected response.
+     * Utility method to validate name element command for create and assert expected response.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @param nameCommand name command
      * @param expected expected response
      */
-    public static void assertValidate(NameElementCommand nameElement, NameCommand nameCommand, Boolean expected) {
-        assertValidate(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement}, nameCommand, expected);
+    public static void assertValidate(NameElementCommandCreate nameElementCommand, NameCommand nameCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, object2Json(new NameElementCommandCreate[] {nameElementCommand}), nameCommand, expected);
     }
     /**
-     * Utility method to validate name elements and assert expected response.
+     * Utility method to validate name element command for update and assert expected response.
      *
-     * @param nameElements name elements
+     * @param nameElementCommand name element command
      * @param nameCommand name command
      * @param expected expected response
      */
-    public static void assertValidate(NameElementCommand[] nameElements, NameCommand nameCommand, Boolean expected) {
-        assertValidate(AuthorizationChoice.NONE, nameElements, nameCommand, expected);
+    public static void assertValidate(NameElementCommandUpdate nameElementCommand, NameCommand nameCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, object2Json(new NameElementCommandUpdate[] {nameElementCommand}), nameCommand, expected);
     }
     /**
-     * Utility method to validate name elements and assert expected response.
+     * Utility method to validate name element command for confirm and assert expected response.
+     *
+     * @param nameElementCommand name element command
+     * @param nameCommand name command
+     * @param expected expected response
+     */
+    public static void assertValidate(NameElementCommandConfirm nameElementCommand, NameCommand nameCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, object2Json(new NameElementCommandConfirm[] {nameElementCommand}), nameCommand, expected);
+    }
+    /**
+     * Utility method to validate name element commands for create and assert expected response.
+     *
+     * @param nameElementCommands name element commands
+     * @param nameCommand name command
+     * @param expected expected response
+     */
+    public static void assertValidate(NameElementCommandCreate[] nameElementCommands, NameCommand nameCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, object2Json(nameElementCommands), nameCommand, expected);
+    }
+    /**
+     * Utility method to validate name element commands for update and assert expected response.
+     *
+     * @param nameElementCommands name element commands
+     * @param nameCommand name command
+     * @param expected expected response
+     */
+    public static void assertValidate(NameElementCommandUpdate[] nameElementCommands, NameCommand nameCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, object2Json(nameElementCommands), nameCommand, expected);
+    }
+    /**
+     * Utility method to validate name element commands for confirm and assert expected response.
+     *
+     * @param nameElementCommands name element commands
+     * @param nameCommand name command
+     * @param expected expected response
+     */
+    public static void assertValidate(NameElementCommandConfirm[] nameElementCommands, NameCommand nameCommand, Boolean expected) {
+        assertValidate(AuthorizationChoice.NONE, object2Json(nameElementCommands), nameCommand, expected);
+    }
+    /**
+     * Utility method to validate json and assert expected response.
      *
      * @param authorizationChoice authorization choice (none, user, admin)
-     * @param nameElements name elements
+     * @param json json
      * @param nameCommand name command
      * @param expected expected response
      */
-    public static void assertValidate(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements, NameCommand nameCommand, Boolean expected) {
+    public static void assertValidate(AuthorizationChoice authorizationChoice, String json, NameCommand nameCommand, Boolean expected) {
         String path = getValidatePath(nameCommand);
 
         try {
             String[] response = null;
 
-            response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.NAMES, path, object2Json(nameElements)));
+            response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.NAMES, path, json));
             ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK);
             ITUtil.assertEqualsResponseBoolean(mapper.readValue(response[1], ResponseBooleanList.class), expected);
         } catch (IOException e) {
@@ -532,12 +690,12 @@ public class ITUtilNameElement {
      * Method expected to NOT succeed to create a name element
      * but instead assert response code (possibly also a non-empty message).
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @param responseCode response code
      * @throws JsonProcessingException
      */
-    public static void assertCreate(NameElementCommand nameElement, int responseCode) throws JsonProcessingException {
-        assertCreate(AuthorizationChoice.NONE, object2Json(new NameElementCommand[] {nameElement}), responseCode);
+    public static void assertCreate(NameElementCommandCreate nameElementCommand, int responseCode) throws JsonProcessingException {
+        assertCreate(AuthorizationChoice.NONE, object2Json(new NameElementCommandCreate[] {nameElementCommand}), responseCode);
     }
     /**
      * Utility method to (try to) create a name element from given json and assert result response code.
@@ -578,40 +736,40 @@ public class ITUtilNameElement {
     /**
      * Utility method to create a name element and assert result.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @return created name element
      */
-    public static NameElement assertCreate(NameElementCommand nameElement) {
-        return assertCreate(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement})[0];
+    public static NameElement assertCreate(NameElementCommandCreate nameElementCommand) {
+        return assertCreate(AuthorizationChoice.NONE, new NameElementCommandCreate[] {nameElementCommand})[0];
     }
     /**
      * Utility method to create name elements and assert result.
      *
-     * @param nameElements name elements
+     * @param nameElementCommands name element commands
      * @return created name element
      */
-    public static NameElement[] assertCreate(NameElementCommand[] nameElements) {
-        return assertCreate(AuthorizationChoice.NONE, nameElements);
+    public static NameElement[] assertCreate(NameElementCommandCreate[] nameElementCommands) {
+        return assertCreate(AuthorizationChoice.NONE, nameElementCommands);
     }
     /**
      * Utility method to create name elements and assert result.
      *
      * @param authorizationChoice authorization choice (none, user, admin)
-     * @param nameElements name elements
+     * @param nameElementCommands name element commands
      * @return created name element
      */
-    public static NameElement[] assertCreate(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements) {
+    public static NameElement[] assertCreate(AuthorizationChoice authorizationChoice, NameElementCommandCreate[] nameElementCommands) {
         String path = getValidatePath(NameCommand.CREATE);
 
         try {
             String[] response = null;
             NameElement[] createdNameElements = null;
 
-            response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.NAMES, path, object2Json(nameElements)));
+            response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.NAMES, path, object2Json(nameElementCommands)));
             ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK);
             ITUtil.assertEqualsResponseBoolean(mapper.readValue(response[1], ResponseBooleanList.class), Boolean.TRUE);
 
-            response = ITUtil.runShellCommand(ITUtil.curlPostPathJson(authorizationChoice, EndpointChoice.NAMES, "", object2Json(nameElements)));
+            response = ITUtil.runShellCommand(ITUtil.curlPostPathJson(authorizationChoice, EndpointChoice.NAMES, "", object2Json(nameElementCommands)));
             ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_CREATED);
             createdNameElements = mapper.readValue(response[1], NameElement[].class);
 
@@ -640,40 +798,40 @@ public class ITUtilNameElement {
     /**
      * Utility method to update a name element and assert result.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @return updated name element
      */
-    public static NameElement assertUpdate(NameElementCommand nameElement) {
-        return assertUpdate(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement})[0];
+    public static NameElement assertUpdate(NameElementCommandUpdate nameElementCommand) {
+        return assertUpdate(AuthorizationChoice.NONE, new NameElementCommandUpdate[] {nameElementCommand})[0];
     }
     /**
      * Utility method to update name elements and assert result.
      *
-     * @param nameElements name elements
+     * @param nameElementCommands name element commands
      * @return updated name element
      */
-    public static NameElement[] assertUpdate(NameElementCommand[] nameElements) {
-        return assertUpdate(AuthorizationChoice.NONE, nameElements);
+    public static NameElement[] assertUpdate(NameElementCommandUpdate[] nameElementCommands) {
+        return assertUpdate(AuthorizationChoice.NONE, nameElementCommands);
     }
     /**
      * Utility method to update name elements and assert result.
      *
      * @param authorizationChoice authorization choice (none, user, admin)
-     * @param nameElements name elements
+     * @param nameElementCommands name element commands
      * @return updated name element
      */
-    public static NameElement[] assertUpdate(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements) {
+    public static NameElement[] assertUpdate(AuthorizationChoice authorizationChoice, NameElementCommandUpdate[] nameElementCommands) {
         String path = getValidatePath(NameCommand.UPDATE);
 
         try {
             String[] response = null;
             NameElement[] updatedNameElements = null;
 
-            response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.NAMES, path, object2Json(nameElements)));
+            response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.NAMES, path, object2Json(nameElementCommands)));
             ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK);
             ITUtil.assertEqualsResponseBoolean(mapper.readValue(response[1], ResponseBooleanList.class), Boolean.TRUE);
 
-            response = ITUtil.runShellCommand(ITUtil.curlPutPathJson(authorizationChoice, EndpointChoice.NAMES, "", object2Json(nameElements)));
+            response = ITUtil.runShellCommand(ITUtil.curlPutPathJson(authorizationChoice, EndpointChoice.NAMES, "", object2Json(nameElementCommands)));
             ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK);
             updatedNameElements = mapper.readValue(response[1], NameElement[].class);
 
@@ -699,40 +857,40 @@ public class ITUtilNameElement {
     /**
      * Utility method to delete a name element and assert result.
      *
-     * @param nameElement name element
+     * @param nameElementCommand name element command
      * @return deleted name element
      */
-    public static NameElement assertDelete(NameElementCommand nameElement) {
-        return assertDelete(AuthorizationChoice.NONE, new NameElementCommand[] {nameElement})[0];
+    public static NameElement assertDelete(NameElementCommandConfirm nameElementCommand) {
+        return assertDelete(AuthorizationChoice.NONE, new NameElementCommandConfirm[] {nameElementCommand})[0];
     }
     /**
      * Utility method to delete name elements and assert result.
      *
-     * @param nameElements name elements
-     * @return deleted name element
+     * @param nameElementCommands name element commands
+     * @return deleted name elements
      */
-    public static NameElement[] assertDelete(NameElementCommand[] nameElements) {
-        return assertDelete(AuthorizationChoice.NONE, nameElements);
+    public static NameElement[] assertDelete(NameElementCommandConfirm[] nameElementCommands) {
+        return assertDelete(AuthorizationChoice.NONE, nameElementCommands);
     }
     /**
      * Utility method to delete name elements and assert result.
      *
      * @param authorizationChoice authorization choice (none, user, admin)
-     * @param nameElements name elements
-     * @return deleted name element
+     * @param nameElementCommands name element commands
+     * @return deleted name elements
      */
-    public static NameElement[] assertDelete(AuthorizationChoice authorizationChoice, NameElementCommand[] nameElements) {
+    public static NameElement[] assertDelete(AuthorizationChoice authorizationChoice, NameElementCommandConfirm[] nameElementCommands) {
         String path = getValidatePath(NameCommand.DELETE);
 
         try {
             String[] response = null;
             NameElement[] deletedNameElements = null;
 
-            response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.NAMES, path, object2Json(nameElements)));
+            response = ITUtil.runShellCommand(ITUtil.curlGetPathJson(authorizationChoice, EndpointChoice.NAMES, path, object2Json(nameElementCommands)));
             ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK);
             ITUtil.assertEqualsResponseBoolean(mapper.readValue(response[1], ResponseBooleanList.class), Boolean.TRUE);
 
-            response = ITUtil.runShellCommand(ITUtil.curlDeletePathJson(authorizationChoice, EndpointChoice.NAMES, "", object2Json(nameElements)));
+            response = ITUtil.runShellCommand(ITUtil.curlDeletePathJson(authorizationChoice, EndpointChoice.NAMES, "", object2Json(nameElementCommands)));
             ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK);
             deletedNameElements = mapper.readValue(response[1], NameElement[].class);
 
diff --git a/src/test/java/org/openepics/names/docker/NamesIT.java b/src/test/java/org/openepics/names/docker/NamesIT.java
index 04d404862d15b8b9e1696085d16c3320e64173f3..ee63dfbb66d3e8151c9c02da8996ec6e0bc77398 100644
--- a/src/test/java/org/openepics/names/docker/NamesIT.java
+++ b/src/test/java/org/openepics/names/docker/NamesIT.java
@@ -31,7 +31,9 @@ import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.NameElement;
-import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandConfirm;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
+import org.openepics.names.rest.beans.element.NameElementCommandUpdate;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
 import org.openepics.names.util.NameCommand;
@@ -192,16 +194,23 @@ class NamesIT {
         //     patch       approve structures
 
         ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-071", Boolean.FALSE);
-        ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
+        ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071",   Boolean.FALSE);
 
         try {
-            NameElementCommand nameElement = null;
+            NameElementCommandCreate nameElementCommandCreate = null;
+            NameElementCommandUpdate nameElementCommandUpdate = null;
+            NameElementCommandConfirm nameElementCommandConfirm = null;
             NameElement createdNameElement = null;
             StructureElementCommand structureElement = null;
 
-            nameElement = new NameElementCommand(
+            nameElementCommandCreate = new NameElementCommandCreate(
+                    subsystemN1U1, deviceTypeRFA, "071",
+                    "description", "comment");
+            nameElementCommandUpdate = new NameElementCommandUpdate(
                     null, subsystemN1U1, deviceTypeRFA, "071",
                     "description", "comment");
+            nameElementCommandConfirm = new NameElementCommandConfirm(
+                    null, "comment");
 
             Long totalCount = ITUtilNameElement.assertRead("").getTotalCount();
             assertNotNull(totalCount);
@@ -209,13 +218,14 @@ 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,  NameCommand.CREATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.UPDATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.FALSE);
 
             // create
-            createdNameElement = ITUtilNameElement.assertCreate(nameElement);
-            nameElement.setUuid(createdNameElement.getUuid());
+            createdNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
+            nameElementCommandUpdate.setUuid(createdNameElement.getUuid());
+            nameElementCommandConfirm.setUuid(createdNameElement.getUuid());
 
             Long totalCount2 = ITUtilNameElement.assertRead("").getTotalCount();
             assertNotNull(totalCount2);
@@ -224,9 +234,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,  NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.UPDATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
 
             // delete, approve
             structureElement = new StructureElementCommand(
@@ -239,9 +249,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,  NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.UPDATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
 
             ITUtilStructureElement.assertApprove(structureElement);
 
@@ -252,9 +262,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,  NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.UPDATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -291,7 +301,7 @@ class NamesIT {
         //     comment
 
         try {
-            NameElementCommand nameElement = new NameElementCommand();
+            NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
 
             ITUtilNameElement.assertExists("RFQ-010PRL:EMR-RFA-051", Boolean.FALSE);
             ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-051", Boolean.FALSE);
@@ -302,8 +312,8 @@ class NamesIT {
             ITUtilNameElement.assertValidate("[{asdf]", NameCommand.CREATE, HttpURLConnection.HTTP_BAD_REQUEST);
             ITUtilNameElement.assertCreate("[{asdf]", HttpURLConnection.HTTP_BAD_REQUEST);
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // ----------
             // system structure
@@ -311,18 +321,18 @@ class NamesIT {
             // description
             // comment
 
-            nameElement.setDescription("description");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            nameElementCommandCreate.setDescription("description");
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
-            nameElement.setComment("comment");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            nameElementCommandCreate.setComment("comment");
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // convention name exists
             // already exists since create subsystem was approved
-            nameElement.setParentSystemStructure(subsystem010PRL);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
 
             // ----------
             // system structure + device structure + index
@@ -330,21 +340,21 @@ class NamesIT {
             // description
             // comment
 
-            nameElement.setIndex("051");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            nameElementCommandCreate.setIndex("051");
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
-            nameElement.setParentDeviceStructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
+            nameElementCommandCreate.setParentDeviceStructure(deviceTypeRFA);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.TRUE);
 
             // ----------
 
-            nameElement.setParentSystemStructure(null);
-            nameElement.setIndex(null);
-            nameElement.setParentDeviceStructure(null);
+            nameElementCommandCreate.setParentSystemStructure(null);
+            nameElementCommandCreate.setIndex(null);
+            nameElementCommandCreate.setParentDeviceStructure(null);
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // ----------
             // system structure
@@ -354,8 +364,8 @@ class NamesIT {
 
             // convention name exists
             // already exists since create system was approved
-            nameElement.setParentSystemStructure(systemRFQ);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandCreate.setParentSystemStructure(systemRFQ);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
 
             // ----------
             // system structure + device structure + index
@@ -363,21 +373,21 @@ class NamesIT {
             // description
             // comment
 
-            nameElement.setIndex("051");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            nameElementCommandCreate.setIndex("051");
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
-            nameElement.setParentDeviceStructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
+            nameElementCommandCreate.setParentDeviceStructure(deviceTypeRFA);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.TRUE);
 
             // ----------
 
-            nameElement.setParentSystemStructure(null);
-            nameElement.setIndex(null);
-            nameElement.setParentDeviceStructure(null);
+            nameElementCommandCreate.setParentSystemStructure(null);
+            nameElementCommandCreate.setIndex(null);
+            nameElementCommandCreate.setParentDeviceStructure(null);
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // ----------
             // system structure
@@ -387,8 +397,8 @@ class NamesIT {
 
             // convention name exists
             // already exists since create system group was approved
-            nameElement.setParentSystemStructure(systemGroupAcc);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandCreate.setParentSystemStructure(systemGroupAcc);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
 
             // ----------
             // system structure + device structure + index
@@ -396,24 +406,24 @@ class NamesIT {
             // description
             // comment
 
-            nameElement.setIndex("051");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            nameElementCommandCreate.setIndex("051");
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
-            nameElement.setParentDeviceStructure(deviceTypeTT);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
+            nameElementCommandCreate.setParentDeviceStructure(deviceTypeTT);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.TRUE);
 
-            nameElement.setParentDeviceStructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
+            nameElementCommandCreate.setParentDeviceStructure(deviceTypeRFA);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.TRUE);
 
             // ----------
 
-            nameElement.setParentSystemStructure(null);
-            nameElement.setIndex(null);
-            nameElement.setParentDeviceStructure(null);
+            nameElementCommandCreate.setParentSystemStructure(null);
+            nameElementCommandCreate.setIndex(null);
+            nameElementCommandCreate.setParentDeviceStructure(null);
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertCreate(nameElement, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
 
             // ----------
             // system structure + device structure
@@ -423,14 +433,14 @@ class NamesIT {
 
             // convention name exists
             // already exists since create system was approved
-            nameElement.setParentSystemStructure(systemRFQ);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandCreate.setParentSystemStructure(systemRFQ);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
 
-            nameElement.setParentDeviceStructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandCreate.setParentDeviceStructure(deviceTypeRFA);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
 
-            nameElement.setIndex("051");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.TRUE);
+            nameElementCommandCreate.setIndex("051");
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.TRUE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -456,15 +466,15 @@ class NamesIT {
         try {
             ObjectMapper mapper = new ObjectMapper();
 
-            NameElementCommand nameElement  = null;
-            NameElementCommand nameElement2 = null;
+            NameElementCommandCreate nameElementCommandCreate  = null;
+            NameElementCommandCreate nameElementCommandCreate2 = null;
 
-            nameElement = new NameElementCommand(
-                    null, subsystem010PRL, deviceTypeRFA, "052",
+            nameElementCommandCreate = new NameElementCommandCreate(
+                    subsystem010PRL, deviceTypeRFA, "052",
                     "description", "comment");
 
-            nameElement2 = new NameElementCommand(
-                    null, subsystem010PRL, deviceTypeRFA, "061",
+            nameElementCommandCreate2 = new NameElementCommandCreate(
+                    subsystem010PRL, deviceTypeRFA, "061",
                     "description", "comment");
 
             ITUtilNameElement.assertExists("RFQ-010PRL:EMR-RFA-052", Boolean.FALSE);
@@ -472,20 +482,20 @@ class NamesIT {
             ITUtilNameElement.assertIsValidToCreate("RFQ-010PRL:EMR-RFA-052", Boolean.TRUE);
 
             ITUtilNameElement.assertValidate(
-                    "[" + mapper.writeValueAsString(nameElement) + ","+mapper.writeValueAsString(nameElement2) +"]",
+                    "[" + mapper.writeValueAsString(nameElementCommandCreate) + ","+mapper.writeValueAsString(nameElementCommandCreate2) +"]",
                     NameCommand.CREATE, HttpURLConnection.HTTP_OK, Boolean.TRUE, Boolean.TRUE);
 
-            ITUtilNameElement.assertValidate(nameElement,  NameCommand.CREATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElement2, NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate2, NameCommand.CREATE, Boolean.TRUE);
 
             // create
-            ITUtilNameElement.assertCreate(nameElement);
+            ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
             ITUtilNameElement.assertExists("RFQ-010PRL:EMR-RFA-052", Boolean.TRUE);
             ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-052", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-010PRL:EMR-RFA-052", Boolean.FALSE);
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, Boolean.FALSE);
         } catch (IOException e) {
             fail();
         } catch (Exception e) {
@@ -517,89 +527,91 @@ class NamesIT {
         //     comment
 
         try {
-            NameElementCommand nameElement = null;
+            NameElementCommandCreate nameElementCommandCreate = null;
+            NameElementCommandUpdate nameElementCommandUpdate = null;
             NameElement createdNameElement = null;
 
-            nameElement = new NameElementCommand(
-                    null, subsystem010PRL, deviceTypeRFA, "053",
+            nameElementCommandCreate = new NameElementCommandCreate(
+                    subsystem010PRL, deviceTypeRFA, "053",
                     "description", "comment");
 
             // create
-            createdNameElement = ITUtilNameElement.assertCreate(nameElement);
+            createdNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
+            nameElementCommandUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(createdNameElement);
 
             // validate update
 
-            nameElement.setUuid(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setUuid(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setUuid(createdNameElement.getUuid());
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setUuid(createdNameElement.getUuid());
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
-            nameElement.setDescription(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setDescription(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setDescription("checkUpdate");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setDescription("checkUpdate");
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
-            nameElement.setComment(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setComment(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setComment("checkUpdate");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setComment("checkUpdate");
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
             // ----------
 
-            nameElement.setParentSystemStructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setParentSystemStructure(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setParentSystemStructure(systemGroupAcc);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setParentSystemStructure(systemGroupAcc);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
-            nameElement.setParentSystemStructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setParentSystemStructure(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setParentSystemStructure(systemRFQ);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setParentSystemStructure(systemRFQ);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
-            nameElement.setParentSystemStructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setParentSystemStructure(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
             // subsystemN1U1 used in isLegacyName but not here
             // order of tests not guaranteed
 
-            nameElement.setParentSystemStructure(subsystem010PRL);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setParentSystemStructure(subsystem010PRL);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
             // ----------
 
-            nameElement.setParentDeviceStructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setParentDeviceStructure(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
             // convention name exists
             // already exists since create subsystem was approved
-            nameElement.setIndex(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setIndex(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setIndex("053");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setIndex("053");
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setParentDeviceStructure(deviceGroupEMR);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setParentDeviceStructure(deviceGroupEMR);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setParentDeviceStructure(deviceTypeFS);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setParentDeviceStructure(deviceTypeFS);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
-            nameElement.setParentDeviceStructure(deviceTypeTT);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setParentDeviceStructure(deviceTypeTT);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
-            nameElement.setParentDeviceStructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setParentDeviceStructure(deviceTypeRFA);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
-            nameElement.setIndex(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            nameElementCommandUpdate.setIndex(null);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
-            nameElement.setIndex("053");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            nameElementCommandUpdate.setIndex("053");
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
             // system structure, device structure not used for validation
         } catch (Exception e) {
@@ -622,32 +634,40 @@ class NamesIT {
         //     create in order to update
 
         try {
-            NameElementCommand nameElement = null;
+            NameElementCommandCreate nameElementCommandCreate = null;
+            NameElementCommandUpdate nameElementCommandUpdate = null;
             NameElement createdNameElement = null;
 
-            nameElement = new NameElementCommand(
-                    null, subsystem010PRL, deviceTypeRFA, "054",
+            nameElementCommandCreate = new NameElementCommandCreate(
+                    subsystem010PRL, deviceTypeRFA, "054",
                     "description", "comment");
+            nameElementCommandUpdate = new NameElementCommandUpdate(
+                    null,
+                    nameElementCommandCreate.getParentSystemStructure(),
+                    nameElementCommandCreate.getParentDeviceStructure(),
+                    nameElementCommandCreate.getIndex(),
+                    nameElementCommandCreate.getDescription(),
+                    nameElementCommandCreate.getComment());
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.FALSE);
 
             // create
-            createdNameElement = ITUtilNameElement.assertCreate(nameElement);
-            nameElement.setUuid(createdNameElement.getUuid());
+            createdNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
+            nameElementCommandUpdate.setUuid(createdNameElement.getUuid());
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
-            nameElement.setDescription("updated description");
-            nameElement.setComment("updated comment");
+            nameElementCommandUpdate.setDescription("updated description");
+            nameElementCommandUpdate.setComment("updated comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
 
             // update
-            ITUtilNameElement.assertUpdate(nameElement);
-            nameElement.setDescription("another description");
-            nameElement.setComment("another comment");
+            ITUtilNameElement.assertUpdate(nameElementCommandUpdate);
+            nameElementCommandUpdate.setDescription("another description");
+            nameElementCommandUpdate.setComment("another comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate, NameCommand.UPDATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -672,62 +692,72 @@ class NamesIT {
         //     comment
 
         try {
-            NameElementCommand nameElement = null;
+            NameElementCommandCreate nameElementCommandCreate = null;
+            NameElementCommandConfirm nameElementCommandConfirm = null;
             NameElement createdNameElement = null;
 
-            nameElement = new NameElementCommand(
-                    null, subsystem010PRL, deviceTypeRFA, "055",
+            nameElementCommandCreate = new NameElementCommandCreate(
+                    subsystem010PRL, deviceTypeRFA, "055",
                     "description", "comment");
 
             // create
-            createdNameElement = ITUtilNameElement.assertCreate(nameElement);
-            nameElement.setUuid(createdNameElement.getUuid());
+            createdNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
+            nameElementCommandConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(createdNameElement);
+//            nameElement.setUuid(createdNameElement.getUuid());
 
             // validate delete
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            nameElement.setDescription(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            nameElement.setDescription("checkDelete");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            nameElement.setComment(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.FALSE);
-
-            nameElement.setComment("checkDelete");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            // system structure not used for validation
-
-            nameElement.setParentSystemStructure(systemGroupAcc);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            nameElement.setParentSystemStructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            nameElement.setParentSystemStructure(systemRFQ);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            nameElement.setParentSystemStructure(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            nameElement.setParentSystemStructure(subsystem010PRL);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            // device type not used for validation
-
-            nameElement.setParentDeviceStructure(deviceTypeRFA);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            // index not used for validation
-
-            nameElement.setIndex(null);
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
-
-            nameElement.setIndex("055");
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
+
+            nameElementCommandConfirm.setUuid(null);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.FALSE);
+
+            nameElementCommandConfirm.setUuid(createdNameElement.getUuid());
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
+
+
+
+//            nameElement.setDescription(null);
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+//
+//            nameElement.setDescription("checkDelete");
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+
+            nameElementCommandConfirm.setComment(null);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.FALSE);
+
+            nameElementCommandConfirm.setComment("checkDelete");
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
+
+//            // system structure not used for validation
+//
+//            nameElement.setParentSystemStructure(systemGroupAcc);
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+//
+//            nameElement.setParentSystemStructure(null);
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+//
+//            nameElement.setParentSystemStructure(systemRFQ);
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+//
+//            nameElement.setParentSystemStructure(null);
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+//
+//            nameElement.setParentSystemStructure(subsystem010PRL);
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+//
+//            // device type not used for validation
+//
+//            nameElement.setParentDeviceStructure(deviceTypeRFA);
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+//
+//            // index not used for validation
+//
+//            nameElement.setIndex(null);
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+//
+//            nameElement.setIndex("055");
+//            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -748,32 +778,34 @@ class NamesIT {
         //     create in order to delete
 
         try {
-            NameElementCommand nameElement = null;
+            NameElementCommandCreate nameElementCommandCreate = null;
+            NameElementCommandConfirm nameElementCommandConfirm = null;
             NameElement createdNameElement = null;
             NameElement deletedNameElement = null;
 
-            nameElement = new NameElementCommand(
-                    null, subsystem010PRL, deviceTypeRFA, "056",
+            nameElementCommandCreate = new NameElementCommandCreate(
+                    subsystem010PRL, deviceTypeRFA, "056",
                     "description", "comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.DELETE, Boolean.FALSE);
 
             // create
-            createdNameElement = ITUtilNameElement.assertCreate(nameElement);
-            nameElement = createdNameElement;
+            createdNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
+//            nameElement = createdNameElement;
+            nameElementCommandConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(createdNameElement);
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
 
-            nameElement.setDescription("deleted description");
-            nameElement.setComment("deleted comment");
+            nameElementCommandConfirm.setComment("deleted comment");
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
 
             // delete
-            deletedNameElement = ITUtilNameElement.assertDelete(nameElement);
-            nameElement = deletedNameElement;
+            deletedNameElement = ITUtilNameElement.assertDelete(nameElementCommandConfirm);
+//            nameElement = deletedNameElement;
+            nameElementCommandConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(deletedNameElement);
 
-            ITUtilNameElement.assertValidate(nameElement, NameCommand.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.FALSE);
         } catch (Exception e) {
             fail();
         }
@@ -791,76 +823,82 @@ class NamesIT {
         // note
         //     create (and more) to read (with content)
 
-        NameElementCommand nameElement  = null;
+        NameElementCommandCreate nameElementCommandCreate = null;
+        NameElementCommandUpdate nameElementCommandUpdate = null;
+        NameElementCommandConfirm nameElementCommandConfirm = null;
         NameElement responseNameElement = null;
         UUID uuid, uuid2 = null;
 
         NameElement nameElement1, nameElement7, nameElement8 = null;
 
-        nameElement = new NameElementCommand(
-                null, subsystem010, deviceTypeFS, "001",
+        nameElementCommandCreate = new NameElementCommandCreate(
+                subsystem010, deviceTypeFS, "001",
                 "description", "comment");
 
         // create
-        responseNameElement = ITUtilNameElement.assertCreate(nameElement);
+        responseNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
         nameElement1 = responseNameElement;
         uuid = responseNameElement.getUuid();
 
-        nameElement = new NameElementCommand(
-                null, subsystem010, deviceTypeFS, "002",
+        nameElementCommandCreate = new NameElementCommandCreate(
+                subsystem010, deviceTypeFS, "002",
                 "description", "comment");
-        responseNameElement = ITUtilNameElement.assertCreate(nameElement);
+        responseNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
         uuid2 = responseNameElement.getUuid();
 
-        nameElement = new NameElementCommand(
-                null, subsystem010, deviceTypeFS, "003",
+        nameElementCommandCreate = new NameElementCommandCreate(
+                subsystem010, deviceTypeFS, "003",
                 "description", "comment");
-        responseNameElement = ITUtilNameElement.assertCreate(nameElement);
+        responseNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(
-                null, subsystem010, deviceTypeFS, "004",
+        nameElementCommandCreate = new NameElementCommandCreate(
+                subsystem010, deviceTypeFS, "004",
                 "description", "comment");
-        responseNameElement = ITUtilNameElement.assertCreate(nameElement);
+        responseNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(
-                null, subsystem010, deviceTypeFS, "005",
+        nameElementCommandCreate = new NameElementCommandCreate(
+                subsystem010, deviceTypeFS, "005",
                 "description", "comment");
-        responseNameElement = ITUtilNameElement.assertCreate(nameElement);
+        responseNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(
-                null, subsystem010, deviceTypeFS, "006",
+        nameElementCommandCreate = new NameElementCommandCreate(
+                subsystem010, deviceTypeFS, "006",
                 "description", "comment");
-        responseNameElement = ITUtilNameElement.assertCreate(nameElement);
+        responseNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(
-                null, subsystem010, deviceTypeFS, "007",
+        nameElementCommandCreate = new NameElementCommandCreate(
+                subsystem010, deviceTypeFS, "007",
                 "description", "comment");
-        responseNameElement = ITUtilNameElement.assertCreate(nameElement);
+        responseNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
         nameElement7 = responseNameElement;
 
-        nameElement = new NameElementCommand(
-                null, subsystem010, deviceTypeFS, "008",
+        nameElementCommandCreate = new NameElementCommandCreate(
+                subsystem010, deviceTypeFS, "008",
                 "description", "comment");
-        responseNameElement = ITUtilNameElement.assertCreate(nameElement);
+        responseNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
         nameElement8 = responseNameElement;
 
         // update element 1 twice
-        nameElement = nameElement1;
-        nameElement.setDescription("updated description");
-        nameElement.setComment("updated comment");
+//        nameElement = nameElement1;
+        nameElementCommandUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(nameElement1);
+        nameElementCommandUpdate.setDescription("updated description");
+        nameElementCommandUpdate.setComment("updated comment");
 
-        responseNameElement = ITUtilNameElement.assertUpdate(nameElement);
-        nameElement = responseNameElement;
+        responseNameElement = ITUtilNameElement.assertUpdate(nameElementCommandUpdate);
+//        nameElement = responseNameElement;
+        nameElementCommandUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(responseNameElement);
 
-        nameElement.setDescription("updated description again");
-        nameElement.setComment("updated comment again");
+        nameElementCommandUpdate.setDescription("updated description again");
+        nameElementCommandUpdate.setComment("updated comment again");
 
-        responseNameElement = ITUtilNameElement.assertUpdate(nameElement);
-        nameElement = responseNameElement;
+        responseNameElement = ITUtilNameElement.assertUpdate(nameElementCommandUpdate);
+//        nameElement = responseNameElement;
 
         // delete element 7, 8
-        responseNameElement = ITUtilNameElement.assertDelete(nameElement7);
-        responseNameElement = ITUtilNameElement.assertDelete(nameElement8);
+        nameElementCommandConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(nameElement7);
+        responseNameElement = ITUtilNameElement.assertDelete(nameElementCommandConfirm);
+        nameElementCommandConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(nameElement8);
+        responseNameElement = ITUtilNameElement.assertDelete(nameElementCommandConfirm);
 
         try {
             // read & search
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 eb0e06fddb1420df5219e227d370ec9977ca2acf..076b392737cdcdd760eeae7dc612e6d72f7fb700 100644
--- a/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java
@@ -29,6 +29,7 @@ import org.openepics.names.docker.ITUtilStructureElement;
 import org.openepics.names.rest.beans.Status;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
 import org.openepics.names.util.NameCommand;
@@ -548,130 +549,130 @@ class NamesInstanceIndexIT {
       //     discipline Cryo
       //     instance index
 
-      NameElementCommand nameElement = new NameElementCommand();
-      nameElement.setDescription("description");
-      nameElement.setComment("comment");
-      nameElement.setParentSystemStructure(subsystem010PRL);
+      NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
+      nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+      nameElementCommandCreate.setDescription("description");
+      nameElementCommandCreate.setComment("comment");
 
       // ----------------------------------------------------------------------------------------------------
 
-      nameElement.setParentDeviceStructure(deviceType_Cryo_IOC);
-
-      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, 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);
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_Cryo_IOC);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
+
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_Cryo_RFA);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -687,130 +688,130 @@ class NamesInstanceIndexIT {
       //     discipline EMR
       //     instance index
 
-      NameElementCommand nameElement = new NameElementCommand();
-      nameElement.setDescription("description");
-      nameElement.setComment("comment");
-      nameElement.setParentSystemStructure(subsystem010PRL);
+      NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
+      nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+      nameElementCommandCreate.setDescription("description");
+      nameElementCommandCreate.setComment("comment");
 
       // ----------------------------------------------------------------------------------------------------
 
-      nameElement.setParentDeviceStructure(deviceType_EMR_IOC);
-
-      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, 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);
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_EMR_IOC);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
+
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_EMR_RFA);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -826,130 +827,130 @@ class NamesInstanceIndexIT {
       //     discipline HVAC
       //     instance index
 
-      NameElementCommand nameElement = new NameElementCommand();
-      nameElement.setDescription("description");
-      nameElement.setComment("comment");
-      nameElement.setParentSystemStructure(subsystem010PRL);
+      NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
+      nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+      nameElementCommandCreate.setDescription("description");
+      nameElementCommandCreate.setComment("comment");
 
       // ----------------------------------------------------------------------------------------------------
 
-      nameElement.setParentDeviceStructure(deviceType_HVAC_IOC);
-
-      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, 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);
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_HVAC_IOC);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
+
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_HVAC_RFA);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -965,130 +966,130 @@ class NamesInstanceIndexIT {
       //     discipline Proc
       //     instance index
 
-      NameElementCommand nameElement = new NameElementCommand();
-      nameElement.setDescription("description");
-      nameElement.setComment("comment");
-      nameElement.setParentSystemStructure(subsystem010PRL);
+      NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
+      nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+      nameElementCommandCreate.setDescription("description");
+      nameElementCommandCreate.setComment("comment");
 
       // ----------------------------------------------------------------------------------------------------
 
-      nameElement.setParentDeviceStructure(deviceType_Proc_IOC);
-
-      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, 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);
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_Proc_IOC);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
+
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_Proc_RFA);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -1104,130 +1105,130 @@ class NamesInstanceIndexIT {
       //     discipline SC
       //     instance index
 
-      NameElementCommand nameElement = new NameElementCommand();
-      nameElement.setDescription("description");
-      nameElement.setComment("comment");
-      nameElement.setParentSystemStructure(subsystem010PRL);
+      NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
+      nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+      nameElementCommandCreate.setDescription("description");
+      nameElementCommandCreate.setComment("comment");
 
       // ----------------------------------------------------------------------------------------------------
 
-      nameElement.setParentDeviceStructure(deviceType_SC_IOC);
-
-      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, 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);
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_SC_IOC);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
+
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_SC_RFA);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -1243,130 +1244,130 @@ class NamesInstanceIndexIT {
       //     discipline Vac
       //     instance index
 
-      NameElementCommand nameElement = new NameElementCommand();
-      nameElement.setDescription("description");
-      nameElement.setComment("comment");
-      nameElement.setParentSystemStructure(subsystem010PRL);
+      NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
+      nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+      nameElementCommandCreate.setDescription("description");
+      nameElementCommandCreate.setComment("comment");
 
       // ----------------------------------------------------------------------------------------------------
 
-      nameElement.setParentDeviceStructure(deviceType_Vac_IOC);
-
-      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, 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);
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_Vac_IOC);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
+
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_Vac_RFA);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -1382,130 +1383,130 @@ class NamesInstanceIndexIT {
       //     discipline WtrC
       //     instance index
 
-      NameElementCommand nameElement = new NameElementCommand();
-      nameElement.setDescription("description");
-      nameElement.setComment("comment");
-      nameElement.setParentSystemStructure(subsystem010PRL);
+      NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
+      nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+      nameElementCommandCreate.setDescription("description");
+      nameElementCommandCreate.setComment("comment");
 
       // ----------------------------------------------------------------------------------------------------
 
-      nameElement.setParentDeviceStructure(deviceType_WtrC_IOC);
-
-      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, 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);
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_WtrC_IOC);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
+
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_WtrC_RFA);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
   }
 
   @Test
@@ -1521,130 +1522,130 @@ class NamesInstanceIndexIT {
       //     discipline BMD
       //     instance index
 
-      NameElementCommand nameElement = new NameElementCommand();
-      nameElement.setDescription("description");
-      nameElement.setComment("comment");
-      nameElement.setParentSystemStructure(subsystem010PRL);
+      NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate();
+      nameElementCommandCreate.setParentSystemStructure(subsystem010PRL);
+      nameElementCommandCreate.setDescription("description");
+      nameElementCommandCreate.setComment("comment");
 
       // ----------------------------------------------------------------------------------------------------
 
-      nameElement.setParentDeviceStructure(deviceType_BMD_IOC);
-
-      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, 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);
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_BMD_IOC);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "a!",        Boolean.FALSE);
+
+      nameElementCommandCreate.setParentDeviceStructure(deviceType_BMD_RFA);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "051",       Boolean.TRUE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00",        Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0000000",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "00000000",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000000000", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1234567",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "12345678",  Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123456789", Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "000ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123a",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ab",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abc",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123abcd",   Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123A",      Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123AB",     Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABC",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "123ABCD",   Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1",         Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "01",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "001",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0001",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "0110",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10",        Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "100",       Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "1000",      Boolean.TRUE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "10001",     Boolean.FALSE);
+
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "",          Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, " ",         Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "Idx",       Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abcdef",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, NameCommand.CREATE, "abc123",    Boolean.FALSE);
+      ITUtilNameElement.assertValidate(nameElementCommandCreate, 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 89d8656547c481daace723ad9282bfe1bdca35e9..ecc895d73fc3d9c50896e29ed74ead14f2a8b5c1 100644
--- a/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java
@@ -32,7 +32,9 @@ import org.openepics.names.docker.ITUtilNameElement;
 import org.openepics.names.docker.ITUtilStructureElement;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.NameElement;
-import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandConfirm;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
+import org.openepics.names.rest.beans.element.NameElementCommandUpdate;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
 import org.openepics.names.util.NameCommand;
@@ -142,64 +144,82 @@ class NamesMultipleIT {
         //     with and without index
 
         try {
-            NameElementCommand[] nameElements = null;
+            NameElementCommandCreate[] nameElementCommandsCreate = null;
+            NameElementCommandUpdate[] nameElementCommandsUpdate = null;
+            NameElementCommandConfirm[] nameElementCommandsConfirm = null;
             UUID uuid = null;
             String value = null;
 
-            nameElements = new NameElementCommand[] {
-                    new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "011", "checkCreate 1.3.011", "checkCreate 1.3.011"),
-                    new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "012", "checkCreate 1.3.012", "checkCreate 1.3.012"),
-                    new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "013", "checkCreate 1.3.013", "checkCreate 1.3.013"),
-                    new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "011", "checkCreate 2.3.011", "checkCreate 2.3.011"),
-                    new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "012", "checkCreate 2.3.012", "checkCreate 2.3.012"),
-                    new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "013", "checkCreate 2.3.013", "checkCreate 2.3.013"),
-                    new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "011", "checkCreate 3.3.011", "checkCreate 3.3.011"),
-                    new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "012", "checkCreate 3.3.012", "checkCreate 3.3.012"),
-                    new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "013", "checkCreate 3.3.013", "checkCreate 3.3.013")
+            nameElementCommandsCreate = new NameElementCommandCreate[] {
+                    new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "011", "checkCreate 1.3.011", "checkCreate 1.3.011"),
+                    new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "012", "checkCreate 1.3.012", "checkCreate 1.3.012"),
+                    new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "013", "checkCreate 1.3.013", "checkCreate 1.3.013"),
+                    new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "011", "checkCreate 2.3.011", "checkCreate 2.3.011"),
+                    new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "012", "checkCreate 2.3.012", "checkCreate 2.3.012"),
+                    new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "013", "checkCreate 2.3.013", "checkCreate 2.3.013"),
+                    new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "011", "checkCreate 3.3.011", "checkCreate 3.3.011"),
+                    new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "012", "checkCreate 3.3.012", "checkCreate 3.3.012"),
+                    new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "013", "checkCreate 3.3.013", "checkCreate 3.3.013")
+            };
+            nameElementCommandsUpdate = new NameElementCommandUpdate[] {
+                    new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "011", "checkCreate 1.3.011", "checkCreate 1.3.011"),
+                    new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "012", "checkCreate 1.3.012", "checkCreate 1.3.012"),
+                    new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "013", "checkCreate 1.3.013", "checkCreate 1.3.013"),
+                    new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "011", "checkCreate 2.3.011", "checkCreate 2.3.011"),
+                    new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "012", "checkCreate 2.3.012", "checkCreate 2.3.012"),
+                    new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "013", "checkCreate 2.3.013", "checkCreate 2.3.013"),
+                    new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "011", "checkCreate 3.3.011", "checkCreate 3.3.011"),
+                    new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "012", "checkCreate 3.3.012", "checkCreate 3.3.012"),
+                    new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "013", "checkCreate 3.3.013", "checkCreate 3.3.013")
+            };
+            nameElementCommandsConfirm = new NameElementCommandConfirm[] {
+                    new NameElementCommandConfirm(null, "checkCreate 1.3.011"),
+                    new NameElementCommandConfirm(null, "checkCreate 1.3.012"),
+                    new NameElementCommandConfirm(null, "checkCreate 1.3.013"),
+                    new NameElementCommandConfirm(null, "checkCreate 2.3.011"),
+                    new NameElementCommandConfirm(null, "checkCreate 2.3.012"),
+                    new NameElementCommandConfirm(null, "checkCreate 2.3.013"),
+                    new NameElementCommandConfirm(null, "checkCreate 3.3.011"),
+                    new NameElementCommandConfirm(null, "checkCreate 3.3.012"),
+                    new NameElementCommandConfirm(null, "checkCreate 3.3.013")
             };
 
             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, 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, NameCommand.CREATE, Boolean.FALSE);
-            nameElements[3].setUuid(null);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
-
-            uuid = nameElements[3].getParentSystemStructure();
-            nameElements[3].setParentSystemStructure(null);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
-            nameElements[3].setParentSystemStructure(uuid);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
-
-            uuid = nameElements[3].getParentDeviceStructure();
-            nameElements[3].setParentDeviceStructure(null);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
-            nameElements[3].setParentDeviceStructure(uuid);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
-
-            value = nameElements[3].getIndex();
-            nameElements[3].setIndex(null);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
-            nameElements[3].setIndex(value);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
-
-            value = nameElements[3].getDescription();
-            nameElements[3].setDescription(null);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
-            nameElements[3].setDescription(value);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
-
-            value = nameElements[3].getComment();
-            nameElements[3].setComment(null);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.FALSE);
-            nameElements[3].setComment(value);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
+
+            uuid = nameElementCommandsCreate[3].getParentSystemStructure();
+            nameElementCommandsCreate[3].setParentSystemStructure(null);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandsCreate[3].setParentSystemStructure(uuid);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+
+            uuid = nameElementCommandsCreate[3].getParentDeviceStructure();
+            nameElementCommandsCreate[3].setParentDeviceStructure(null);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandsCreate[3].setParentDeviceStructure(uuid);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+
+            value = nameElementCommandsCreate[3].getIndex();
+            nameElementCommandsCreate[3].setIndex(null);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandsCreate[3].setIndex(value);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+
+            value = nameElementCommandsCreate[3].getDescription();
+            nameElementCommandsCreate[3].setDescription(null);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandsCreate[3].setDescription(value);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+
+            value = nameElementCommandsCreate[3].getComment();
+            nameElementCommandsCreate[3].setComment(null);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+            nameElementCommandsCreate[3].setComment(value);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -221,60 +241,90 @@ class NamesMultipleIT {
         //     with and without index
 
         try {
-            NameElementCommand[] nameElements = null;
+            NameElementCommandCreate[] nameElementCommandsCreate = null;
+            NameElementCommandUpdate[] nameElementCommandsUpdate = null;
+            NameElementCommandConfirm[] nameElementCommandsConfirm = null;
             NameElement[] createdNameElements = null;
             int nbrNames = -1;
 
-            nameElements = new NameElementCommand[] {
-                    new NameElementCommand(null, systemGroupAcc,  null,               null,  "create 1.0.0",   "create 1.0.0"),
-                    new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "021", "create 1.3.021", "create 1.3.021"),
-                    new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "022", "create 1.3.022", "create 1.3.022"),
-                    new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "023", "create 1.3.023", "create 1.3.023"),
-                    new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "021", "create 2.3.021", "create 2.3.021"),
-                    new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "022", "create 2.3.022", "create 2.3.022"),
-                    new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "023", "create 2.3.023", "create 2.3.023"),
-                    new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "021", "create 3.3.021", "create 3.3.021"),
-                    new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "022", "create 3.3.022", "create 3.3.022"),
-                    new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "023", "create 3.3.023", "create 3.3.023")
+            nameElementCommandsCreate = new NameElementCommandCreate[] {
+                    new NameElementCommandCreate(systemGroupAcc,  null,               null,  "create 1.0.0",   "create 1.0.0"),
+                    new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "021", "create 1.3.021", "create 1.3.021"),
+                    new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "022", "create 1.3.022", "create 1.3.022"),
+                    new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "023", "create 1.3.023", "create 1.3.023"),
+                    new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "021", "create 2.3.021", "create 2.3.021"),
+                    new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "022", "create 2.3.022", "create 2.3.022"),
+                    new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "023", "create 2.3.023", "create 2.3.023"),
+                    new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "021", "create 3.3.021", "create 3.3.021"),
+                    new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "022", "create 3.3.022", "create 3.3.022"),
+                    new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "023", "create 3.3.023", "create 3.3.023")
+            };
+            nameElementCommandsUpdate = new NameElementCommandUpdate[] {
+                    new NameElementCommandUpdate(null, systemGroupAcc,  null,               null,  "create 1.0.0",   "create 1.0.0"),
+                    new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "021", "create 1.3.021", "create 1.3.021"),
+                    new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "022", "create 1.3.022", "create 1.3.022"),
+                    new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "023", "create 1.3.023", "create 1.3.023"),
+                    new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "021", "create 2.3.021", "create 2.3.021"),
+                    new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "022", "create 2.3.022", "create 2.3.022"),
+                    new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "023", "create 2.3.023", "create 2.3.023"),
+                    new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "021", "create 3.3.021", "create 3.3.021"),
+                    new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "022", "create 3.3.022", "create 3.3.022"),
+                    new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "023", "create 3.3.023", "create 3.3.023")
+            };
+            nameElementCommandsConfirm = new NameElementCommandConfirm[] {
+                    new NameElementCommandConfirm(null, "create 1.0.0"),
+                    new NameElementCommandConfirm(null, "create 1.3.021"),
+                    new NameElementCommandConfirm(null, "create 1.3.022"),
+                    new NameElementCommandConfirm(null, "create 1.3.023"),
+                    new NameElementCommandConfirm(null, "create 2.3.021"),
+                    new NameElementCommandConfirm(null, "create 2.3.022"),
+                    new NameElementCommandConfirm(null, "create 2.3.023"),
+                    new NameElementCommandConfirm(null, "create 3.3.021"),
+                    new NameElementCommandConfirm(null, "create 3.3.022"),
+                    new NameElementCommandConfirm(null, "create 3.3.023")
             };
 
-            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],
-                    nameElements[2],
-                    nameElements[3],
-                    nameElements[4],
-                    nameElements[5],
-                    nameElements[6],
-                    nameElements[7],
-                    nameElements[8],
-                    nameElements[9]
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
+
+            nameElementCommandsCreate = new NameElementCommandCreate[] {
+                    nameElementCommandsCreate[1],
+                    nameElementCommandsCreate[2],
+                    nameElementCommandsCreate[3],
+                    nameElementCommandsCreate[4],
+                    nameElementCommandsCreate[5],
+                    nameElementCommandsCreate[6],
+                    nameElementCommandsCreate[7],
+                    nameElementCommandsCreate[8],
+                    nameElementCommandsCreate[9]
             };
 
             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, NameCommand.CREATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
 
             nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
-            createdNameElements = ITUtilNameElement.assertCreate(nameElements);
+            createdNameElements = ITUtilNameElement.assertCreate(nameElementCommandsCreate);
             assertNotNull(createdNameElements);
             assertEquals(9, createdNameElements.length);
 
             assertEquals(nbrNames + 9, ITUtilNameElement.assertRead("?deleted=false").getListSize());
 
+            nameElementCommandsCreate = ITUtilNameElement.convert2NameElementCommandCreate(createdNameElements);
+            nameElementCommandsUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(createdNameElements);
+            nameElementCommandsConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(createdNameElements);
+
             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, NameCommand.CREATE, Boolean.FALSE);
-            ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
-            ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+            ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
         } catch (Exception e) {
             fail();
         }
@@ -298,81 +348,109 @@ class NamesMultipleIT {
         //     create in order to update
         //     validate update
 
-        NameElementCommand[] nameElements = null;
+        NameElementCommandCreate[] nameElementCommandsCreate = null;
+        NameElementCommandUpdate[] nameElementCommandsUpdate = null;
+        NameElementCommandConfirm[] nameElementCommandsConfirm = null;
         NameElement[] createdNameElements = null;
         int nbrNames = -1;
         UUID uuid = null;
         String value = null;
 
-        nameElements = new NameElementCommand[] {
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "031", "checkUpdate 1.3.031", "checkUpdate 1.3.031"),
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "032", "checkUpdate 1.3.032", "checkUpdate 1.3.032"),
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "033", "checkUpdate 1.3.033", "checkUpdate 1.3.033"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "031", "checkUpdate 2.3.031", "checkUpdate 2.3.031"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "032", "checkUpdate 2.3.032", "checkUpdate 2.3.032"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "033", "checkUpdate 2.3.033", "checkUpdate 2.3.033"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "031", "checkUpdate 3.3.031", "checkUpdate 3.3.031"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "032", "checkUpdate 3.3.032", "checkUpdate 3.3.032"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "033", "checkUpdate 3.3.033", "checkUpdate 3.3.033")
+        nameElementCommandsCreate = new NameElementCommandCreate[] {
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "031", "checkUpdate 1.3.031", "checkUpdate 1.3.031"),
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "032", "checkUpdate 1.3.032", "checkUpdate 1.3.032"),
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "033", "checkUpdate 1.3.033", "checkUpdate 1.3.033"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "031", "checkUpdate 2.3.031", "checkUpdate 2.3.031"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "032", "checkUpdate 2.3.032", "checkUpdate 2.3.032"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "033", "checkUpdate 2.3.033", "checkUpdate 2.3.033"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "031", "checkUpdate 3.3.031", "checkUpdate 3.3.031"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "032", "checkUpdate 3.3.032", "checkUpdate 3.3.032"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "033", "checkUpdate 3.3.033", "checkUpdate 3.3.033")
+        };
+        nameElementCommandsUpdate = new NameElementCommandUpdate[] {
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "031", "checkUpdate 1.3.031", "checkUpdate 1.3.031"),
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "032", "checkUpdate 1.3.032", "checkUpdate 1.3.032"),
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "033", "checkUpdate 1.3.033", "checkUpdate 1.3.033"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "031", "checkUpdate 2.3.031", "checkUpdate 2.3.031"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "032", "checkUpdate 2.3.032", "checkUpdate 2.3.032"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "033", "checkUpdate 2.3.033", "checkUpdate 2.3.033"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "031", "checkUpdate 3.3.031", "checkUpdate 3.3.031"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "032", "checkUpdate 3.3.032", "checkUpdate 3.3.032"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "033", "checkUpdate 3.3.033", "checkUpdate 3.3.033")
+        };
+        nameElementCommandsConfirm = new NameElementCommandConfirm[] {
+                new NameElementCommandConfirm(null, "checkUpdate 1.3.031"),
+                new NameElementCommandConfirm(null, "checkUpdate 1.3.032"),
+                new NameElementCommandConfirm(null, "checkUpdate 1.3.033"),
+                new NameElementCommandConfirm(null, "checkUpdate 2.3.031"),
+                new NameElementCommandConfirm(null, "checkUpdate 2.3.032"),
+                new NameElementCommandConfirm(null, "checkUpdate 2.3.033"),
+                new NameElementCommandConfirm(null, "checkUpdate 3.3.031"),
+                new NameElementCommandConfirm(null, "checkUpdate 3.3.032"),
+                new NameElementCommandConfirm(null, "checkUpdate 3.3.033")
         };
 
         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, NameCommand.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
 
         nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
-        createdNameElements = ITUtilNameElement.assertCreate(nameElements);
+        createdNameElements = ITUtilNameElement.assertCreate(nameElementCommandsCreate);
         assertNotNull(createdNameElements);
         assertEquals(9, createdNameElements.length);
 
         assertEquals(nbrNames + 9, ITUtilNameElement.assertRead("?deleted=false").getListSize());
 
+        nameElementCommandsCreate = ITUtilNameElement.convert2NameElementCommandCreate(createdNameElements);
+        nameElementCommandsUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(createdNameElements);
+        nameElementCommandsConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(createdNameElements);
+
         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, 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, NameCommand.UPDATE, Boolean.FALSE);
-        createdNameElements[3].setUuid(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
-
-        uuid = createdNameElements[3].getParentSystemStructure();
-        createdNameElements[3].setParentSystemStructure(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
-        createdNameElements[3].setParentSystemStructure(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
-
-        uuid = createdNameElements[3].getParentDeviceStructure();
-        createdNameElements[3].setParentDeviceStructure(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
-        createdNameElements[3].setParentDeviceStructure(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
-
-        value = createdNameElements[3].getIndex();
-        createdNameElements[3].setIndex(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
-        createdNameElements[3].setIndex(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
-
-        value = createdNameElements[3].getDescription();
-        createdNameElements[3].setDescription(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
-        createdNameElements[3].setDescription(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
-
-        value = createdNameElements[3].getComment();
-        createdNameElements[3].setComment(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.FALSE);
-        createdNameElements[3].setComment(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
+
+        uuid = nameElementCommandsUpdate[3].getUuid();
+        nameElementCommandsUpdate[3].setUuid(null);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        nameElementCommandsUpdate[3].setUuid(uuid);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+
+        uuid = nameElementCommandsUpdate[3].getParentSystemStructure();
+        nameElementCommandsUpdate[3].setParentSystemStructure(null);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        nameElementCommandsUpdate[3].setParentSystemStructure(uuid);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+
+        uuid = nameElementCommandsUpdate[3].getParentDeviceStructure();
+        nameElementCommandsUpdate[3].setParentDeviceStructure(null);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        nameElementCommandsUpdate[3].setParentDeviceStructure(uuid);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+
+        value = nameElementCommandsUpdate[3].getIndex();
+        nameElementCommandsUpdate[3].setIndex(null);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        nameElementCommandsUpdate[3].setIndex(value);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+
+        value = nameElementCommandsUpdate[3].getDescription();
+        nameElementCommandsUpdate[3].setDescription(null);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        nameElementCommandsUpdate[3].setDescription(value);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+
+        value = nameElementCommandsUpdate[3].getComment();
+        nameElementCommandsUpdate[3].setComment(null);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        nameElementCommandsUpdate[3].setComment(value);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
     }
 
     @Test
@@ -392,91 +470,147 @@ class NamesMultipleIT {
         // note
         //     create in order to update
 
-        NameElementCommand[] nameElements = null;
+        NameElementCommandCreate[] nameElementCommandsCreate = null;
+        NameElementCommandUpdate[] nameElementCommandsUpdate = null;
+        NameElementCommandConfirm[] nameElementCommandsConfirm = null;
         NameElement[] createdNameElements = null;
         NameElement[] updatedNameElements = null;
         int nbrNames = -1;
 
-        nameElements = new NameElementCommand[] {
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "041", "update 1.3.041", "update 1.3.041"),
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "042", "update 1.3.042", "update 1.3.042"),
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "043", "update 1.3.043", "update 1.3.043"),
-                new NameElementCommand(null, systemRFQ,       null,               null,  "update 2.0.0",   "update 2.0.0"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "041", "update 2.3.041", "update 2.3.041"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "042", "update 2.3.042", "update 2.3.042"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "043", "update 2.3.043", "update 2.3.043"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "041", "update 3.3.041", "update 3.3.041"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "042", "update 3.3.042", "update 3.3.042"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "043", "update 3.3.043", "update 3.3.043")
+        nameElementCommandsCreate = new NameElementCommandCreate[] {
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "041", "update 1.3.041", "update 1.3.041"),
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "042", "update 1.3.042", "update 1.3.042"),
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "043", "update 1.3.043", "update 1.3.043"),
+                new NameElementCommandCreate(systemRFQ,       null,               null,  "update 2.0.0",   "update 2.0.0"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "041", "update 2.3.041", "update 2.3.041"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "042", "update 2.3.042", "update 2.3.042"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "043", "update 2.3.043", "update 2.3.043"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "041", "update 3.3.041", "update 3.3.041"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "042", "update 3.3.042", "update 3.3.042"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "043", "update 3.3.043", "update 3.3.043")
+        };
+        nameElementCommandsUpdate = new NameElementCommandUpdate[] {
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "041", "update 1.3.041", "update 1.3.041"),
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "042", "update 1.3.042", "update 1.3.042"),
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "043", "update 1.3.043", "update 1.3.043"),
+                new NameElementCommandUpdate(null, systemRFQ,       null,               null,  "update 2.0.0",   "update 2.0.0"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "041", "update 2.3.041", "update 2.3.041"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "042", "update 2.3.042", "update 2.3.042"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "043", "update 2.3.043", "update 2.3.043"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "041", "update 3.3.041", "update 3.3.041"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "042", "update 3.3.042", "update 3.3.042"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "043", "update 3.3.043", "update 3.3.043")
+        };
+        nameElementCommandsConfirm = new NameElementCommandConfirm[] {
+                new NameElementCommandConfirm(null, "update 1.3.041"),
+                new NameElementCommandConfirm(null, "update 1.3.042"),
+                new NameElementCommandConfirm(null, "update 1.3.043"),
+                new NameElementCommandConfirm(null, "update 2.0.0"),
+                new NameElementCommandConfirm(null, "update 2.3.041"),
+                new NameElementCommandConfirm(null, "update 2.3.042"),
+                new NameElementCommandConfirm(null, "update 2.3.043"),
+                new NameElementCommandConfirm(null, "update 3.3.041"),
+                new NameElementCommandConfirm(null, "update 3.3.042"),
+                new NameElementCommandConfirm(null, "update 3.3.043")
         };
 
-        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],
-                nameElements[1],
-                nameElements[2],
-                nameElements[4],
-                nameElements[5],
-                nameElements[6],
-                nameElements[7],
-                nameElements[8],
-                nameElements[9]
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
+
+        nameElementCommandsCreate = new NameElementCommandCreate[] {
+                nameElementCommandsCreate[0],
+                nameElementCommandsCreate[1],
+                nameElementCommandsCreate[2],
+                nameElementCommandsCreate[4],
+                nameElementCommandsCreate[5],
+                nameElementCommandsCreate[6],
+                nameElementCommandsCreate[7],
+                nameElementCommandsCreate[8],
+                nameElementCommandsCreate[9]
+        };
+        nameElementCommandsUpdate = new NameElementCommandUpdate[] {
+                nameElementCommandsUpdate[0],
+                nameElementCommandsUpdate[1],
+                nameElementCommandsUpdate[2],
+                nameElementCommandsUpdate[4],
+                nameElementCommandsUpdate[5],
+                nameElementCommandsUpdate[6],
+                nameElementCommandsUpdate[7],
+                nameElementCommandsUpdate[8],
+                nameElementCommandsUpdate[9]
+        };
+        nameElementCommandsConfirm = new NameElementCommandConfirm[] {
+                nameElementCommandsConfirm[0],
+                nameElementCommandsConfirm[1],
+                nameElementCommandsConfirm[2],
+                nameElementCommandsConfirm[4],
+                nameElementCommandsConfirm[5],
+                nameElementCommandsConfirm[6],
+                nameElementCommandsConfirm[7],
+                nameElementCommandsConfirm[8],
+                nameElementCommandsConfirm[9]
         };
 
         ITUtilNameElement.assertExists("RFQ", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
 
         nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
-        createdNameElements = ITUtilNameElement.assertCreate(nameElements);
+        createdNameElements = ITUtilNameElement.assertCreate(nameElementCommandsCreate);
         assertNotNull(createdNameElements);
         assertEquals(9, createdNameElements.length);
 
         assertEquals(nbrNames + 9, ITUtilNameElement.assertRead("?deleted=false").getListSize());
 
+        nameElementCommandsCreate = ITUtilNameElement.convert2NameElementCommandCreate(createdNameElements);
+        nameElementCommandsUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(createdNameElements);
+        nameElementCommandsConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(createdNameElements);
+
         ITUtilNameElement.assertExists("RFQ", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ", Boolean.FALSE);
-        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");
-        createdNameElements[2].setDescription("2");
-        createdNameElements[3].setDescription("3");
-        createdNameElements[4].setDescription("4");
-        createdNameElements[5].setDescription("5");
-        createdNameElements[6].setDescription("6");
-        createdNameElements[7].setDescription("7");
-        createdNameElements[8].setDescription("8");
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
+
+        nameElementCommandsUpdate[0].setDescription("0");
+        nameElementCommandsUpdate[1].setDescription("1");
+        nameElementCommandsUpdate[2].setDescription("2");
+        nameElementCommandsUpdate[3].setDescription("3");
+        nameElementCommandsUpdate[4].setDescription("4");
+        nameElementCommandsUpdate[5].setDescription("5");
+        nameElementCommandsUpdate[6].setDescription("6");
+        nameElementCommandsUpdate[7].setDescription("7");
+        nameElementCommandsUpdate[8].setDescription("8");
 
         ITUtilNameElement.assertExists("RFQ", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
 
-        updatedNameElements = ITUtilNameElement.assertUpdate(createdNameElements);
+        updatedNameElements = ITUtilNameElement.assertUpdate(nameElementCommandsUpdate);
         assertNotNull(updatedNameElements);
         assertEquals(9, updatedNameElements.length);
 
         assertEquals(nbrNames + 9, ITUtilNameElement.assertRead("?deleted=false").getListSize());
 
+        nameElementCommandsCreate = ITUtilNameElement.convert2NameElementCommandCreate(updatedNameElements);
+        nameElementCommandsUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(updatedNameElements);
+        nameElementCommandsConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(updatedNameElements);
+
         ITUtilNameElement.assertExists("RFQ", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("RFQ", Boolean.FALSE);
         ITUtilNameElement.assertIsValidToCreate("RFQ", Boolean.FALSE);
-        ITUtilNameElement.assertValidate(updatedNameElements, NameCommand.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(updatedNameElements, NameCommand.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(updatedNameElements, NameCommand.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -499,81 +633,85 @@ class NamesMultipleIT {
         //         uuid
         //         comment
 
-        NameElementCommand[] nameElements = null;
+        NameElementCommandCreate[] nameElementCommandsCreate = null;
+        NameElementCommandUpdate[] nameElementCommandsUpdate = null;
+        NameElementCommandConfirm[] nameElementCommandsConfirm = null;
         NameElement[] createdNameElements = null;
         int nbrNames = -1;
         UUID uuid = null;
         String value = null;
 
-        nameElements = new NameElementCommand[] {
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "051", "checkDelete 1.3.051", "checkDelete 1.3.051"),
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "052", "checkDelete 1.3.052", "checkDelete 1.3.052"),
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "053", "checkDelete 1.3.053", "checkDelete 1.3.053"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "051", "checkDelete 2.3.051", "checkDelete 2.3.051"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "052", "checkDelete 2.3.052", "checkDelete 2.3.052"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "053", "checkDelete 2.3.053", "checkDelete 2.3.053"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "051", "checkDelete 3.3.051", "checkDelete 3.3.051"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "052", "checkDelete 3.3.052", "checkDelete 3.3.052"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "053", "checkDelete 3.3.053", "checkDelete 3.3.053")
+        nameElementCommandsCreate = new NameElementCommandCreate[] {
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "051", "checkDelete 1.3.051", "checkDelete 1.3.051"),
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "052", "checkDelete 1.3.052", "checkDelete 1.3.052"),
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "053", "checkDelete 1.3.053", "checkDelete 1.3.053"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "051", "checkDelete 2.3.051", "checkDelete 2.3.051"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "052", "checkDelete 2.3.052", "checkDelete 2.3.052"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "053", "checkDelete 2.3.053", "checkDelete 2.3.053"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "051", "checkDelete 3.3.051", "checkDelete 3.3.051"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "052", "checkDelete 3.3.052", "checkDelete 3.3.052"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "053", "checkDelete 3.3.053", "checkDelete 3.3.053")
+        };
+        nameElementCommandsUpdate = new NameElementCommandUpdate[] {
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "051", "checkDelete 1.3.051", "checkDelete 1.3.051"),
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "052", "checkDelete 1.3.052", "checkDelete 1.3.052"),
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "053", "checkDelete 1.3.053", "checkDelete 1.3.053"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "051", "checkDelete 2.3.051", "checkDelete 2.3.051"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "052", "checkDelete 2.3.052", "checkDelete 2.3.052"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "053", "checkDelete 2.3.053", "checkDelete 2.3.053"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "051", "checkDelete 3.3.051", "checkDelete 3.3.051"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "052", "checkDelete 3.3.052", "checkDelete 3.3.052"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "053", "checkDelete 3.3.053", "checkDelete 3.3.053")
+        };
+        nameElementCommandsConfirm = new NameElementCommandConfirm[] {
+                new NameElementCommandConfirm(null, "checkDelete 1.3.051"),
+                new NameElementCommandConfirm(null, "checkDelete 1.3.052"),
+                new NameElementCommandConfirm(null, "checkDelete 1.3.053"),
+                new NameElementCommandConfirm(null, "checkDelete 2.3.051"),
+                new NameElementCommandConfirm(null, "checkDelete 2.3.052"),
+                new NameElementCommandConfirm(null, "checkDelete 2.3.053"),
+                new NameElementCommandConfirm(null, "checkDelete 3.3.051"),
+                new NameElementCommandConfirm(null, "checkDelete 3.3.052"),
+                new NameElementCommandConfirm(null, "checkDelete 3.3.053")
         };
 
         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, NameCommand.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
 
         nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
-        createdNameElements = ITUtilNameElement.assertCreate(nameElements);
+        createdNameElements = ITUtilNameElement.assertCreate(nameElementCommandsCreate);
         assertNotNull(createdNameElements);
         assertEquals(9, createdNameElements.length);
 
         assertEquals(nbrNames + 9, ITUtilNameElement.assertRead("?deleted=false").getListSize());
 
+        nameElementCommandsCreate = ITUtilNameElement.convert2NameElementCommandCreate(createdNameElements);
+        nameElementCommandsUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(createdNameElements);
+        nameElementCommandsConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(createdNameElements);
+
         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, 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, NameCommand.DELETE, Boolean.FALSE);
-        createdNameElements[3].setUuid(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-
-        uuid = createdNameElements[3].getParentSystemStructure();
-        createdNameElements[3].setParentSystemStructure(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-        createdNameElements[3].setParentSystemStructure(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-
-        uuid = createdNameElements[3].getParentDeviceStructure();
-        createdNameElements[3].setParentDeviceStructure(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-        createdNameElements[3].setParentDeviceStructure(uuid);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-
-        value = createdNameElements[3].getIndex();
-        createdNameElements[3].setIndex(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-        createdNameElements[3].setIndex(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-
-        value = createdNameElements[3].getDescription();
-        createdNameElements[3].setDescription(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-        createdNameElements[3].setDescription(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
-
-        value = createdNameElements[3].getComment();
-        createdNameElements[3].setComment(null);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.FALSE);
-        createdNameElements[3].setComment(value);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
+
+        uuid = nameElementCommandsConfirm[3].getUuid();
+        nameElementCommandsConfirm[3].setUuid(null);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
+        nameElementCommandsConfirm[3].setUuid(uuid);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
+
+        value = nameElementCommandsConfirm[3].getComment();
+        nameElementCommandsConfirm[3].setComment(null);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
+        nameElementCommandsConfirm[3].setComment(value);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -601,75 +739,130 @@ class NamesMultipleIT {
         //     subsystem                          + description + comment
         //     subsystem    + device type + index + description + comment
 
-        NameElementCommand[] nameElements = null;
+        NameElementCommandCreate[] nameElementCommandsCreate = null;
+        NameElementCommandUpdate[] nameElementCommandsUpdate = null;
+        NameElementCommandConfirm[] nameElementCommandsConfirm = null;
         NameElement[] createdNameElements = null;
         NameElement[] deletedNameElements = null;
         int nbrNames = -1;
 
-        nameElements = new NameElementCommand[] {
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "061", "delete 1.3.061", "delete 1.3.061"),
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "062", "delete 1.3.062", "delete 1.3.062"),
-                new NameElementCommand(null, systemGroupAcc,  deviceType_Cryo_FS, "063", "delete 1.3.063", "delete 1.3.063"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "061", "delete 2.3.061", "delete 2.3.061"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "062", "delete 2.3.062", "delete 2.3.062"),
-                new NameElementCommand(null, systemRFQ,       deviceType_Cryo_FS, "063", "delete 2.3.063", "delete 2.3.063"),
-                new NameElementCommand(null, subsystem010PRL, null,               null,  "delete 3.0.0",   "delete 3.0.0"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "061", "delete 3.3.061", "delete 3.3.061"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "062", "delete 3.3.062", "delete 3.3.062"),
-                new NameElementCommand(null, subsystem010PRL, deviceType_Cryo_FS, "063", "delete 3.3.063", "delete 3.3.063")
+        nameElementCommandsCreate = new NameElementCommandCreate[] {
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "061", "delete 1.3.061", "delete 1.3.061"),
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "062", "delete 1.3.062", "delete 1.3.062"),
+                new NameElementCommandCreate(systemGroupAcc,  deviceType_Cryo_FS, "063", "delete 1.3.063", "delete 1.3.063"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "061", "delete 2.3.061", "delete 2.3.061"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "062", "delete 2.3.062", "delete 2.3.062"),
+                new NameElementCommandCreate(systemRFQ,       deviceType_Cryo_FS, "063", "delete 2.3.063", "delete 2.3.063"),
+                new NameElementCommandCreate(subsystem010PRL, null,               null,  "delete 3.0.0",   "delete 3.0.0"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "061", "delete 3.3.061", "delete 3.3.061"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "062", "delete 3.3.062", "delete 3.3.062"),
+                new NameElementCommandCreate(subsystem010PRL, deviceType_Cryo_FS, "063", "delete 3.3.063", "delete 3.3.063")
+        };
+        nameElementCommandsUpdate = new NameElementCommandUpdate[] {
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "061", "delete 1.3.061", "delete 1.3.061"),
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "062", "delete 1.3.062", "delete 1.3.062"),
+                new NameElementCommandUpdate(null, systemGroupAcc,  deviceType_Cryo_FS, "063", "delete 1.3.063", "delete 1.3.063"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "061", "delete 2.3.061", "delete 2.3.061"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "062", "delete 2.3.062", "delete 2.3.062"),
+                new NameElementCommandUpdate(null, systemRFQ,       deviceType_Cryo_FS, "063", "delete 2.3.063", "delete 2.3.063"),
+                new NameElementCommandUpdate(null, subsystem010PRL, null,               null,  "delete 3.0.0",   "delete 3.0.0"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "061", "delete 3.3.061", "delete 3.3.061"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "062", "delete 3.3.062", "delete 3.3.062"),
+                new NameElementCommandUpdate(null, subsystem010PRL, deviceType_Cryo_FS, "063", "delete 3.3.063", "delete 3.3.063")
+        };
+        nameElementCommandsConfirm = new NameElementCommandConfirm[] {
+                new NameElementCommandConfirm(null, "delete 1.3.061"),
+                new NameElementCommandConfirm(null, "delete 1.3.062"),
+                new NameElementCommandConfirm(null, "delete 1.3.063"),
+                new NameElementCommandConfirm(null, "delete 2.3.061"),
+                new NameElementCommandConfirm(null, "delete 2.3.062"),
+                new NameElementCommandConfirm(null, "delete 2.3.063"),
+                new NameElementCommandConfirm(null, "delete 3.0.0"),
+                new NameElementCommandConfirm(null, "delete 3.3.061"),
+                new NameElementCommandConfirm(null, "delete 3.3.062"),
+                new NameElementCommandConfirm(null, "delete 3.3.063")
         };
 
-        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],
-                nameElements[1],
-                nameElements[2],
-                nameElements[3],
-                nameElements[4],
-                nameElements[5],
-                nameElements[7],
-                nameElements[8],
-                nameElements[9]
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
+
+        nameElementCommandsCreate = new NameElementCommandCreate[] {
+                nameElementCommandsCreate[0],
+                nameElementCommandsCreate[1],
+                nameElementCommandsCreate[2],
+                nameElementCommandsCreate[3],
+                nameElementCommandsCreate[4],
+                nameElementCommandsCreate[5],
+                nameElementCommandsCreate[7],
+                nameElementCommandsCreate[8],
+                nameElementCommandsCreate[9]
+        };
+        nameElementCommandsUpdate = new NameElementCommandUpdate[] {
+                nameElementCommandsUpdate[0],
+                nameElementCommandsUpdate[1],
+                nameElementCommandsUpdate[2],
+                nameElementCommandsUpdate[3],
+                nameElementCommandsUpdate[4],
+                nameElementCommandsUpdate[5],
+                nameElementCommandsUpdate[7],
+                nameElementCommandsUpdate[8],
+                nameElementCommandsUpdate[9]
+        };
+        nameElementCommandsConfirm = new NameElementCommandConfirm[] {
+                nameElementCommandsConfirm[0],
+                nameElementCommandsConfirm[1],
+                nameElementCommandsConfirm[2],
+                nameElementCommandsConfirm[3],
+                nameElementCommandsConfirm[4],
+                nameElementCommandsConfirm[5],
+                nameElementCommandsConfirm[7],
+                nameElementCommandsConfirm[8],
+                nameElementCommandsConfirm[9]
         };
 
         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, NameCommand.CREATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.UPDATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(nameElements, NameCommand.DELETE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
 
         nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
 
-        createdNameElements = ITUtilNameElement.assertCreate(nameElements);
+        createdNameElements = ITUtilNameElement.assertCreate(nameElementCommandsCreate);
         assertNotNull(createdNameElements);
         assertEquals(9, createdNameElements.length);
 
         assertEquals(nbrNames + 9, ITUtilNameElement.assertRead("?deleted=false").getListSize());
 
+        nameElementCommandsCreate = ITUtilNameElement.convert2NameElementCommandCreate(createdNameElements);
+        nameElementCommandsUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(createdNameElements);
+        nameElementCommandsConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(createdNameElements);
+
         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, NameCommand.CREATE, Boolean.FALSE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.UPDATE, Boolean.TRUE);
-        ITUtilNameElement.assertValidate(createdNameElements, NameCommand.DELETE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.TRUE);
 
-        deletedNameElements = ITUtilNameElement.assertDelete(createdNameElements);
+        deletedNameElements = ITUtilNameElement.assertDelete(nameElementCommandsConfirm);
         assertNotNull(deletedNameElements);
         assertEquals(9, deletedNameElements.length);
 
         assertEquals(nbrNames, ITUtilNameElement.assertRead("?deleted=false").getListSize());
 
+        nameElementCommandsCreate = ITUtilNameElement.convert2NameElementCommandCreate(deletedNameElements);
+        nameElementCommandsUpdate = ITUtilNameElement.convert2NameElementCommandUpdate(deletedNameElements);
+        nameElementCommandsConfirm = ITUtilNameElement.convert2NameElementCommandConfirm(deletedNameElements);
+
         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, 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);
+        ITUtilNameElement.assertValidate(nameElementCommandsCreate, NameCommand.CREATE, Boolean.TRUE);
+        ITUtilNameElement.assertValidate(nameElementCommandsUpdate, NameCommand.UPDATE, Boolean.FALSE);
+        ITUtilNameElement.assertValidate(nameElementCommandsConfirm, NameCommand.DELETE, Boolean.FALSE);
     }
 
 }
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresCUDDeleteIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresCUDDeleteIT.java
index a7af90fd21bbc539bdb78ae7568ae08c79d3ff63..2c70083386f4bbcd20c81a22def25c3a9ff58d52 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresCUDDeleteIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresCUDDeleteIT.java
@@ -27,7 +27,7 @@ import org.openepics.names.docker.ITUtil;
 import org.openepics.names.docker.ITUtilNameElement;
 import org.openepics.names.docker.ITUtilStructureElement;
 import org.openepics.names.rest.beans.Type;
-import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
 import org.openepics.names.rest.beans.response.ResponsePageStructureElements;
@@ -116,7 +116,7 @@ class StructuresCUDDeleteIT {
         //
         // test create structure and ensure name is as expected
 
-        NameElementCommand nameElement = null;
+        NameElementCommandCreate nameElementCommandCreate = null;
         StructureElementCommand structureElement  = null;
         StructureElement approvedStructureElement = null;
 
@@ -346,32 +346,32 @@ class StructuresCUDDeleteIT {
         //         Dt221, Dt222, Dt223
         //         Dt231, Dt232, Dt233
 
-        nameElement = new NameElementCommand(null, sg2, dt211, "211", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt211, "211", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sg2, dt212, "212", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt212, "212", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sg2, dt213, "213", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt213, "213", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt221, "221", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt221, "221", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt222, "222", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt222, "222", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt223, "223", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt223, "223", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub231, dt231, "231", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub231, dt231, "231", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub232, dt232, "232", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub232, dt232, "232", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub233, dt233, "233", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub233, dt233, "233", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
         ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
index 2b875f930c82f65ba983e65a6b01c8e7c39764a5..c5dd01ad47704397a10f2962c42b2d1515726106 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
@@ -27,7 +27,7 @@ import org.openepics.names.docker.ITUtil;
 import org.openepics.names.docker.ITUtilNameElement;
 import org.openepics.names.docker.ITUtilStructureElement;
 import org.openepics.names.rest.beans.Type;
-import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
 import org.openepics.names.rest.beans.response.ResponsePageStructureElements;
@@ -116,7 +116,7 @@ class StructuresCUDNamesLegacyIT {
     public static void initAll() {
         // init system group, system, subsystem, discipline, device group, device type
 
-        NameElementCommand nameElement = null;
+        NameElementCommandCreate nameElementCommandCreate = null;
         StructureElementCommand structureElement  = null;
         StructureElement approvedStructureElement = null;
 
@@ -345,32 +345,32 @@ class StructuresCUDNamesLegacyIT {
         //         Dt221, Dt222, Dt223
         //         Dt231, Dt232, Dt233
 
-        nameElement = new NameElementCommand(null, sg2, dt211, "211", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt211, "211", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sg2, dt212, "212", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt212, "212", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sg2, dt213, "213", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt213, "213", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt221, "221", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt221, "221", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt222, "222", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt222, "222", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt223, "223", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt223, "223", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub231, dt231, "231", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub231, dt231, "231", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub232, dt232, "232", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub232, dt232, "232", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub233, dt233, "233", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub233, dt233, "233", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
         ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresCUDUpdateIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresCUDUpdateIT.java
index 264377c622bc918fd0d0333afac7e1c580533989..f7331866a3179fda2714ebbe79523698ca606e5f 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresCUDUpdateIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresCUDUpdateIT.java
@@ -27,7 +27,7 @@ import org.openepics.names.docker.ITUtil;
 import org.openepics.names.docker.ITUtilNameElement;
 import org.openepics.names.docker.ITUtilStructureElement;
 import org.openepics.names.rest.beans.Type;
-import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
 import org.openepics.names.rest.beans.response.ResponsePageStructureElements;
@@ -116,7 +116,7 @@ class StructuresCUDUpdateIT {
         //
         // test create structure and ensure name is as expected
 
-        NameElementCommand nameElement = null;
+        NameElementCommandCreate nameElementCommandCreate = null;
         StructureElementCommand structureElement  = null;
         StructureElement approvedStructureElement = null;
 
@@ -346,32 +346,32 @@ class StructuresCUDUpdateIT {
         //         Dt221, Dt222, Dt223
         //         Dt231, Dt232, Dt233
 
-        nameElement = new NameElementCommand(null, sg2, dt211, "211", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt211, "211", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sg2, dt212, "212", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt212, "212", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sg2, dt213, "213", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sg2, dt213, "213", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt221, "221", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt221, "221", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt222, "222", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt222, "222", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sys22, dt223, "223", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sys22, dt223, "223", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub231, dt231, "231", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub231, dt231, "231", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub232, dt232, "232", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub232, dt232, "232", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
-        nameElement = new NameElementCommand(null, sub233, dt233, "233", description, comment);
-        ITUtilNameElement.assertCreate(nameElement);
+        nameElementCommandCreate = new NameElementCommandCreate(sub233, dt233, "233", description, comment);
+        ITUtilNameElement.assertCreate(nameElementCommandCreate);
 
         ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
diff --git a/src/test/java/org/openepics/names/util/NameElementUtilTest.java b/src/test/java/org/openepics/names/util/NameElementUtilTest.java
index 33c945325651c9bebb6ab50a98796b2a792a5c86..6cf73248d416de89e3e83ace73af9aadcf044e9b 100644
--- a/src/test/java/org/openepics/names/util/NameElementUtilTest.java
+++ b/src/test/java/org/openepics/names/util/NameElementUtilTest.java
@@ -22,10 +22,16 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
+import java.util.UUID;
+
 import org.junit.jupiter.api.Test;
 import org.openepics.names.repository.model.Name;
 import org.openepics.names.rest.beans.Status;
 import org.openepics.names.rest.beans.element.NameElement;
+import org.openepics.names.rest.beans.element.NameElementCommand;
+import org.openepics.names.rest.beans.element.NameElementCommandConfirm;
+import org.openepics.names.rest.beans.element.NameElementCommandCreate;
+import org.openepics.names.rest.beans.element.NameElementCommandUpdate;
 
 /**
  * Unit tests for NameElementUtil class.
@@ -94,4 +100,68 @@ class NameElementUtilTest {
         assertEquals(null, nameElement.getComment());
     }
 
+    /**
+     * Test of get name element command given name element command for create.
+     */
+    @Test
+    void getNameElementCommandCreate() {
+        UUID uuid2 = UUID.randomUUID();
+        UUID uuid3 = UUID.randomUUID();
+        String str1 = "qwer";
+        String str2 = "asdf";
+        String str3 = "zxcv";
+
+        NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate(uuid2, uuid3, str1, str2, str3);
+        NameElementCommand nameElementCommand = NameElementUtil.getNameElementCommand(nameElementCommandCreate);
+
+        assertNull(nameElementCommand.getUuid());
+        assertEquals(uuid2, nameElementCommand.getParentSystemStructure());
+        assertEquals(uuid3, nameElementCommand.getParentDeviceStructure());
+        assertEquals(str1, nameElementCommand.getIndex());
+        assertEquals(str2, nameElementCommand.getDescription());
+        assertEquals(str3, nameElementCommand.getComment());
+    }
+
+    /**
+     * Test of get name element command given name element command for update.
+     */
+    @Test
+    void getNameElementCommandUpdate() {
+        UUID uuid1 = UUID.randomUUID();
+        UUID uuid2 = UUID.randomUUID();
+        UUID uuid3 = UUID.randomUUID();
+        String str1 = "qwer";
+        String str2 = "asdf";
+        String str3 = "zxcv";
+
+        NameElementCommandUpdate nameElementCommandUpdate = new NameElementCommandUpdate(uuid1, uuid2, uuid3, str1, str2, str3);
+        NameElementCommand nameElementCommand = NameElementUtil.getNameElementCommand(nameElementCommandUpdate);
+
+        assertEquals(uuid1, nameElementCommand.getUuid());
+        assertEquals(uuid2, nameElementCommand.getParentSystemStructure());
+        assertEquals(uuid3, nameElementCommand.getParentDeviceStructure());
+        assertEquals(str1, nameElementCommand.getIndex());
+        assertEquals(str2, nameElementCommand.getDescription());
+        assertEquals(str3, nameElementCommand.getComment());
+    }
+
+    /**
+     * Test of get name element command given name element command for confirm.
+     */
+    @Test
+    void getNameElementCommandConfirm() {
+        UUID uuid1 = UUID.randomUUID();
+        String str3 = "zxcv";
+
+        NameElementCommandConfirm nameElementCommandConfirm = new NameElementCommandConfirm(uuid1, str3);
+        NameElementCommand nameElementCommand = NameElementUtil.getNameElementCommand(nameElementCommandConfirm);
+
+        assertEquals(uuid1, nameElementCommand.getUuid());
+        assertNull(nameElementCommand.getParentSystemStructure());
+        assertNull(nameElementCommand.getParentDeviceStructure());
+        assertNull(nameElementCommand.getIndex());
+        assertNull(nameElementCommand.getDescription());
+        assertEquals(str3, nameElementCommand.getComment());
+    }
+
 }