Add lazily-instantiated lists
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / KeyedListNodeCodecContext.java
index 44151a7b81560239d149cba1806f5122f86a2100..206baa7c1537e97ba471a4400fe37a8884d189c1 100644 (file)
@@ -14,6 +14,7 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableMap.Builder;
 import java.lang.reflect.Method;
 import java.util.List;
+import java.util.Map;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.Identifiable;
@@ -41,11 +42,11 @@ abstract class KeyedListNodeCodecContext<D extends DataObject & Identifiable<?>>
         }
 
         @Override
-        Object fromMap(final MapNode map, final int size) {
+        Map<?, D> fromMap(final MapNode map, final int size) {
             // FIXME: MDSAL-539: Make this a lazily-populated map
             final Builder<Object, D> builder = ImmutableMap.builderWithExpectedSize(size);
             for (MapEntryNode node : map.getValue()) {
-                final D entry = fromMapEntry(node);
+                final D entry = createBindingProxy(node);
                 builder.put(entry.key(), entry);
             }
             return builder.build();