@SuppressWarnings("unchecked")
  default R and(R other) {
    return Matchers.combine((R) this, other, Operators.AND);
  }
Combine {@code this} and {@code other} expression (criteria / matcher) using logical {@code AND}
operator. Equivalent to {@code (this) AND (other)}.

<p>Not exactly same as DNF expression
<pre>
  DNF : A.or().B.C is equivalent to A or B and C
  this: A.or().B.and(C) is equivalent to (A or B) and C
</pre>

@param other other matcher
@return new root criteria with updated expression
criteria/common/src/org/immutables/criteria/matcher/AndMatcher.java