- final Entry<InstanceIdentifier<?>, BindingCodecTreeNode<?>> codecCtx =
- codec.getSubtreeCodec(candidate.getRootPath().getRootIdentifier());
- final DataTreeIdentifier<?> path =
- DataTreeIdentifier.create(candidate.getRootPath().getDatastoreType(), codecCtx.getKey());
- final DataObjectModification<?> modification =
- LazyDataObjectModification.create(codecCtx.getValue(), candidate.getRootNode());
- return new LazyDataTreeModification(path, modification);
+ final DOMDataTreeIdentifier domRootPath = candidate.getRootPath();
+ final InstanceIdentifier<?> bindingPath = serializer.coerceInstanceIdentifier(domRootPath.getRootIdentifier());
+ final BindingDataObjectCodecTreeNode<?> codec = serializer.getSubtreeCodec(bindingPath);
+ return new LazyDataTreeModification(DataTreeIdentifier.create(domRootPath.getDatastoreType(), bindingPath),
+ LazyDataObjectModification.create(codec, candidate.getRootNode()));