text: protected internal override bool LessThan(ShardRef first, ShardRef second){Debug.Assert(first != second);FieldDoc firstFD = (FieldDoc)shardHits[first.ShardIndex][first.HitIndex];FieldDoc secondFD = (FieldDoc)shardHits[second.ShardIndex][second.HitIndex];for (int compIDX = 0; compIDX < comparers.Length; compIDX++){FieldComparer comp = comparers[compIDX];int cmp = reverseMul[compIDX] * comp.CompareValues(firstFD.Fields[compIDX], secondFD.Fields[compIDX]);if (cmp != 0){return cmp < 0;}}if (first.ShardIndex < second.ShardIndex){return true;}else if (first.ShardIndex > second.ShardIndex){return false;}else{Debug.Assert(first.HitIndex != second.HitIndex);return first.HitIndex < second.HitIndex;}}