+
+ void appendTo(final StringBuilder sb) {
+ final var it = path.iterator();
+ appendStep(sb, it.next());
+ while (it.hasNext()) {
+ appendStep(sb.append('/'), it.next());
+ }
+
+ if (!subSelectors.isEmpty()) {
+ appendSelectors(sb.append('('), subSelectors).append(')');
+ }
+ }
+
+ private static void appendStep(final StringBuilder sb, final ApiIdentifier step) {
+ final var mod = step.module();
+ if (mod != null) {
+ sb.append(mod).append(':');
+ }
+ sb.append(step.identifier().getLocalName());
+ }