@Override
	public int localCompare(PathNode<?> o) {
		if (this == o)
			return 0;

		if (o instanceof BundlePathNode bundlePathNode) {
			int cmp = Integer.compare(bundleMask(), bundlePathNode.bundleMask());
			if (cmp != 0)
				return cmp;

			// Order dex class bundles to be in alphabetical order.
			Bundle bundle = getValue();
			Object otherBundle = o.getValue();
			if (getParent() != null &&
					bundle instanceof AndroidClassBundle &&
					otherBundle instanceof AndroidClassBundle) {
				WorkspaceResource resource = getParent().getValue();
				Set<Map.Entry<String, AndroidClassBundle>> androidBundles = resource.getAndroidClassBundles().entrySet();
				String dexName = androidBundles.stream()
						.filter(e -> e.getValue() == bundle)
						.map(Map.Entry::getKey)
						.findFirst()
						.orElse(null);
				String otherDexName = androidBundles.stream()
						.filter(e -> e.getValue() == otherBundle)
						.map(Map.Entry::getKey)
						.findFirst()
						.orElse(null);
				return CaseInsensitiveSimpleNaturalComparator.getInstance().compare(dexName, otherDexName);
			}
		}
		return 0;
	}
@return Bit-mask used for ordering in {@link #compareTo(PathNode)}.
recaf-core/src/main/java/software/coley/recaf/path/BundlePathNode.java