Merge "Fix checkstyle if-statements must use braces in yang-data-operations"
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / tree / OperationWithModification.java
index 511fc322cbd8b2b402ec50c56798fcd13b9828a2..102c4c7841af77449674b98a5308a9653a4aadd8 100644 (file)
@@ -51,18 +51,25 @@ final class OperationWithModification {
     public static OperationWithModification from(final ModificationApplyOperation operation,
             final ModifiedNode modification) {
         return new OperationWithModification(operation, modification);
-
     }
 
     public void merge(final NormalizedNode<?, ?> data) {
         modification.merge(data);
         applyOperation.verifyStructure(modification);
-
     }
 
     public OperationWithModification forChild(final PathArgument childId) {
-        ModifiedNode childMod = modification.modifyChild(childId);
-        Optional<ModificationApplyOperation> childOp = applyOperation.getChild(childId);
-        return from(childOp.get(),childMod);
+        ModificationApplyOperation childOp = applyOperation.getChild(childId).get();
+
+        final boolean isOrdered;
+        if (childOp instanceof SchemaAwareApplyOperation) {
+            isOrdered = ((SchemaAwareApplyOperation) childOp).isOrdered();
+        } else {
+            isOrdered = true;
+        }
+
+        ModifiedNode childMod = modification.modifyChild(childId, isOrdered);
+
+        return from(childOp,childMod);
     }
 }