+ final QName original = name.getNodeType();
+ final QName transformed = transform(original);
+ return transformed == original ? name : new NodeIdentifier(transformed);
+ }
+
+ private <T> NodeWithValue<T> transform(final NodeWithValue<T> name) {
+ final QName original = name.getNodeType();
+ final QName transformed = transform(original);
+ return transformed == original ? name : new NodeWithValue<>(transformed, name.getValue());