public override bool Equals(Object obj)
{
if (this == obj)
return true;
if ((obj == null) || !(obj is BooleanFilter))
return false;
BooleanFilter other = (BooleanFilter)obj;
return EqualFilters(notFilters, other.notFilters)
&& EqualFilters(mustFilters, other.mustFilters)
&& EqualFilters(shouldFilters, other.shouldFilters);
}