+ private void put(final LogicalDatastoreType store, final NormalizedResult normalized) {
+ final var delegate = getDelegate();
+ final var domPath = normalized.path();
+
+ if (normalized instanceof AugmentationResult augment) {
+ // Augmentation: put() child nodes provided with augmentation, delete() those having no data
+ final var putIds = new HashSet<YangInstanceIdentifier.PathArgument>();
+ for (var child : augment.children()) {
+ final var childId = child.name();
+ delegate.put(store, domPath.node(childId), child);
+ putIds.add(childId);
+ }
+ for (var childId : augment.possibleChildren()) {
+ if (!putIds.contains(childId)) {
+ delegate.delete(store, domPath.node(childId));
+ }
+ }
+ } else if (normalized instanceof NodeResult node) {
+ delegate.put(store, domPath, node.node());
+ } else {
+ throw new VerifyException("Unhandled result " + normalized);
+ }
+ }
+
+ @Deprecated