- try (var yiidWriter = YangInstanceIdentifierWriter.open(nnStreamWriter, currentContext, dataRoot)) {
- try (var nnWriter = NormalizedNodeWriter.forStreamWriter(nnStreamWriter, true)) {
- if (data instanceof ContainerNode) {
- writeRootElement(xmlWriter, nnWriter, (ContainerNode) data);
- } else if (data instanceof MapNode) {
- writeRootElement(xmlWriter, nnWriter, (MapNode) data);
- } else {
- throw new IllegalArgumentException("Unable to transform node of type: "
- + data.getClass().toString() + " offending node: " + data);
- }
+ try {
+ if (dataRoot.isEmpty()) {
+ writeRoot(nnStreamWriter, data);
+ } else {
+ write(nnStreamWriter, currentContext, dataRoot.coerceParent(), data);