@Override
	public int compareTo(DataNGram other) {
		if (this.weight > other.weight) {			// Sort so that bigger weights come first
			return -1;
		}
		else if (this.weight < other.weight) {
			return 1;
		}

		if (this.depth > other.depth) {				// Sort on depth
			return -1;
		}
		else if (this.depth < other.depth) {
			return 1;
		}

		if (this.hash > other.hash) {				// Then sort on hash
			return -1;
		}
		else if (this.hash < other.hash) {
			return 1;
		}

		if (this.root.uid > other.root.uid) {		// For equivalent hashes, sort based on the node id
			return -1;
		}
		else if (this.root.uid < other.root.uid) {
			return 1;
		}

		// Finally, sort on the graph owning the root node
		return other.root.graph.side.compareTo(this.root.graph.side);
	}
Construct a data-flow n-gram.
@param node is the root data-flow node from which the n-gram is computed
@param weight is the number of data-flow nodes involved in the n-gram
@param depth is the maximum distance between nodes involved in the n-gram
@param hash is the hash value for the n-gram
Ghidra/Features/CodeCompare/src/main/java/ghidra/features/codecompare/graphanalysis/DataNGram.java