protected String parseName() {
			int p = buf.position();
			while (buf.hasRemaining()) {
				if (sep.matcher(buf).lookingAt()) {
					break;
				}
				else if (LBRACKET.matcher(buf).lookingAt()) {
					break;
				}
				else if (LPAREN.matcher(buf).lookingAt()) {
					buf.get();
					advanceParenthesized();
				}
				else {
					buf.get();
				}
			}
			int e = buf.position();
			buf.position(p);
			String tok = buf.subSequence(0, e - p).toString();
			buf.position(e);
			return tok;
		}
Sort paths by length, longest first, then as in {@link #KEYED}.
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/target/path/KeyPath.java