+ static <T extends DataObject> @Nullable DataTreeModification<T> from(final CurrentAdapterSerializer serializer,
+ final DOMDataTreeCandidate candidate, final @Nullable Class<T> augment) {
+ final var domRootPath = candidate.getRootPath();
+ @SuppressWarnings("unchecked")
+ final var bindingPath = (InstanceIdentifier<T>) createBindingPath(serializer, domRootPath.path(), augment);
+ final var codec = serializer.getSubtreeCodec(bindingPath);
+ @SuppressWarnings("unchecked")
+ final var modification = (DataObjectModification<T>) LazyDataObjectModification.from(codec,
+ candidate.getRootNode());
+ return modification == null ? null
+ : new LazyDataTreeModification<>(DataTreeIdentifier.of(domRootPath.datastore(), bindingPath), modification);