@Override
  public final Filter<?> negate() {
    if (this instanceof NegateFilter) {
      return ((NegateFilter)this).getBaseFilter();
    }
    return new NegateFilter(this);
  }
@Override
  public final Filter<?> negate()