public override bool Equals(Object obj)
{
if (this == obj)
{
return true;
}
if ((obj == null) || !(obj is TermsFilter))
{
return false;
}
TermsFilter test = (TermsFilter)obj;
// TODO: Does SortedSet have an issues like List<T>? see EquatableList in Support
return (terms == test.terms || (terms != null && terms.Equals(test.terms)));
}