public bool IsPlacementEqual(CompetitionRunResult left, CompetitionRunResult right)
        {
            Guard.NotNull(left, nameof(left));
            Guard.NotNull(right, nameof(right));

            var xComparable = new CompetitionRunResultRankingComparable(left, modelSnapshot, comparisonMode);
            var yComparable = new CompetitionRunResultRankingComparable(right, modelSnapshot, comparisonMode);

            return(xComparable.CompareWithoutNumberTo(yComparable) == 0);
        }
        public int Compare(CompetitionRunResult?x, CompetitionRunResult?y)
        {
            Guard.NotNull(x, nameof(x));
            Guard.NotNull(y, nameof(y));

            var xComparable = new CompetitionRunResultRankingComparable(x, modelSnapshot, comparisonMode);
            var yComparable = new CompetitionRunResultRankingComparable(y, modelSnapshot, comparisonMode);

            return(xComparable.CompareTo(yComparable));
        }