@Override
			public int compare(String o1, String o2) {
				String[] p1 = o1.split(",");
				String[] p2 = o2.split(",");
				int min = Math.min(p1.length, p2.length);
				for (int i = 0; i < min; i++) {
					int c = ELEMENT_DIM.compare(p1[i], p2[i]);
					if (c != 0) {
						return c;
					}
				}
				return Integer.compare(p1.length, p2.length);
			}
Sort keys by element index.

<p>
Element indices may be multidimensional, in which case the dimensions are separated by
commas, and sorting prioritizes the left-most dimensions. Where indices (or dimensions
thereof) appear to be numeric, they are sorted as such. Otherwise, they are sorted
lexicographically. Numeric types can be encoded in hexadecimal. While decimal is typical
you may run into difficulties if those numbers are too large, as the implementation must
assume numeric types are hexadecimal.

@implNote The only way I can think to resolve the numeric encoding issue is to examine
          all keys before even selecting a comparator. As is, a comparator can only see
          two keys at a time, and has no context to what it's actually sorting.
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/model/target/path/KeyPath.java