public static bool CaseEquals(ComparisonStorage/*!*/ comparisonStorage, [NotNull]Range/*!*/ self, object value) {
var compare = comparisonStorage.CompareSite;
object result = compare.Target(compare, self.Begin, value);
if (result == null || Protocols.ConvertCompareResult(comparisonStorage, result) > 0) {
return false;
}
result = compare.Target(compare, value, self.End);
if (result == null) {
return false;
}
int valueToEnd = Protocols.ConvertCompareResult(comparisonStorage, result);
return valueToEnd < 0 || (!self.ExcludeEnd && valueToEnd == 0);
}