BUG-7464: Switch to use forked TrieMap
[yangtools.git] / third-party / triemap / src / main / java / org / opendaylight / yangtools / triemap / TrieMap.java
index b0261bf0e871679dfbb097df4c93f03f197b8edb..36cf5cc3613d140d4b634ca6aa9219c0a146dca4 100644 (file)
@@ -50,7 +50,7 @@ public abstract class TrieMap<K, V> extends AbstractMap<K, V> implements Concurr
         this.equiv = equiv;
     }
 
-    public static <K, V> TrieMap<K, V> create() {
+    public static <K, V> MutableTrieMap<K, V> create() {
         return new MutableTrieMap<>(Equivalence.equals());
     }
 
@@ -96,20 +96,14 @@ public abstract class TrieMap<K, V> extends AbstractMap<K, V> implements Concurr
 
     @Override
     public final Set<Entry<K, V>> entrySet() {
-        AbstractEntrySet<K, V> ret = entrySet;
-        if (ret == null) {
-            entrySet = ret = createEntrySet();
-        }
-        return ret;
+        final AbstractEntrySet<K, V> ret;
+        return (ret = entrySet) != null ? ret : (entrySet = createEntrySet());
     }
 
     @Override
     public final Set<K> keySet() {
-        AbstractKeySet<K> ret = keySet;
-        if (ret == null) {
-            keySet = ret = createKeySet();
-        }
-        return ret;
+        final AbstractKeySet<K> ret;
+        return (ret = keySet) != null ? ret : (keySet = createKeySet());
     }
 
     @Override