BUG-7464: Hide INodeBase.mainnode
[yangtools.git] / third-party / triemap / src / main / java / org / opendaylight / yangtools / triemap / CNode.java
index de389bb1b75699dfe6f62a5c11c59169da992cd2..581594346e0728aa21f1a4c313cc5afad63ad580 100644 (file)
@@ -29,13 +29,13 @@ final class CNode<K, V> extends CNodeBase<K, V> {
 
     // this should only be called from within read-only snapshots
     @Override
-    public int cachedSize(final Object ct) {
+    int cachedSize(final TrieMap<K, V> ct) {
         final int currsz = READ_SIZE();
         if (currsz != -1) {
             return currsz;
         }
 
-        final int sz = computeSize((TrieMap<K, V>) ct);
+        final int sz = computeSize(ct);
         while (READ_SIZE () == -1) {
             CAS_SIZE (-1, sz);
         }
@@ -216,8 +216,7 @@ final class CNode<K, V> extends CNodeBase<K, V> {
             int bmp = (1 << xidx) | (1 << yidx);
 
             if (xidx == yidx) {
-                INode<K, V> subinode = new INode<>(gen);// (TrieMap.inodeupdater)
-                subinode.mainnode = dual (x, xhc, y, yhc, lev + 5, gen);
+                INode<K, V> subinode = new INode<>(gen, dual(x, xhc, y, yhc, lev + 5, gen));
                 return new CNode<>(bmp, new BasicNode[] { subinode }, gen);
             } else {
                 if (xidx < yidx) {