688    {
  689        TValue value2 = 
value;
 
  690        bool found = false;
  691        if (value2 == null)
  692        {
  693            _set.InOrderTreeWalk(delegate(SortedSet<KeyValuePair<TKey, TValue>>.Node node)
 
  694            {
  695                if (node.Item.Value == null)
  696                {
  697                    found = true;
  698                    return false;
  699                }
  700                return true;
  701            });
  702        }
  703        else
  704        {
  705            EqualityComparer<TValue> valueComparer = EqualityComparer<TValue>.Default;
  706            _set.InOrderTreeWalk(delegate(SortedSet<KeyValuePair<TKey, TValue>>.Node node)
 
  707            {
  708                if (valueComparer.Equals(node.Item.Value, value2))
  709                {
  710                    found = true;
  711                    return false;
  712                }
  713                return true;
  714            });
  715        }
  716        return found;
  717    }
readonly TreeSet< KeyValuePair< TKey, TValue > > _set