docs: protected void separateAndConstraints( Constraint constraint,
                                             List<Constraint> andableConstraints ) {
          if (constraint == null) return;
          assert andableConstraints != null;
          if (constraint instanceof And) {
              And and = (And)constraint;
              separateAndConstraints(and.left(), andableConstraints);
              separateAndConstraints(and.right(), andableConstraints);
          } else {
              andableConstraints.add(constraint);
          }
      }