public int compareTo(String version) {final String[] parts = version.split(":");final long indexGen = Long.parseLong(parts[0], RADIX);final long taxoGen = Long.parseLong(parts[1], RADIX);final long indexCommitGen = indexCommit.getGeneration();final long taxoCommitGen = taxoCommit.getGeneration();if (indexCommitGen < indexGen) {return -1;} else if (indexCommitGen > indexGen) {return 1;} else {return taxoCommitGen < taxoGen ? -1 : (taxoCommitGen > taxoGen ? 1 : 0);}}

public virtual int CompareTo(string version){string[] parts = version.Split(':').TrimEnd();long indexGen = long.Parse(parts[0], NumberStyles.HexNumber);long taxonomyGen = long.Parse(parts[1], NumberStyles.HexNumber);long indexCommitGen = indexCommit.Generation;long taxonomyCommitGen = taxonomyCommit.Generation;if (indexCommitGen < indexGen)return -1;if (indexCommitGen > indexGen)return 1;return taxonomyCommitGen < taxonomyGen ? -1 : (taxonomyCommitGen > taxonomyGen ? 1 : 0);}
