code: public BooleanBuilder and(@Nullable Predicate right) {
          if (right != null) {
              if (predicate == null) {
                  predicate = right;
              } else {
                  predicate = ExpressionUtils.and(predicate, right);
              }
          }
          return this;
      }
docs: Create the intersection of this and the given predicate
  
  @param right right hand side of {@code and} operation
  @return the current object