Update MutableTreeNode methods
[yangtools.git] / yang / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / tree / spi / AbstractMutableContainerNode.java
index 3106e369c8bbe04ce16e2b985551293c7011bb31..958a6073d540b0707c080f49833fdb06f4ce4ccf 100644 (file)
@@ -53,13 +53,13 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode {
     }
 
     @Override
-    public final void addChild(final TreeNode child) {
-        children.put(child.getIdentifier(), child);
+    public final TreeNode putChild(final TreeNode child) {
+        return children.put(child.getIdentifier(), child);
     }
 
     @Override
-    public final void removeChild(final PathArgument id) {
-        children.remove(requireNonNull(id));
+    public final TreeNode removeChild(final PathArgument id) {
+        return children.remove(requireNonNull(id));
     }
 
     @Override
@@ -81,10 +81,11 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode {
          */
         if (!version.equals(subtreeVersion)) {
             final Map<PathArgument, TreeNode> newChildren = MapAdaptor.getDefaultInstance().optimize(children);
-            final int dataSize = getData().getValue().size();
-            if (dataSize != newChildren.size()) {
-                verify(dataSize > newChildren.size(), "Detected %s modified children, data has only %s",
-                    newChildren.size(), dataSize);
+            final int dataSize = getData().size();
+            final int childrenSize = newChildren.size();
+            if (dataSize != childrenSize) {
+                verify(dataSize > childrenSize, "Detected %s modified children, data has only %s",
+                    childrenSize, dataSize);
                 ret = new LazyContainerNode(data, version, newChildren, subtreeVersion);
             } else {
                 ret = new MaterializedContainerNode(data, version, newChildren, subtreeVersion);