text: 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);}