private RexNode buildInFor(Set<RexNodeRef> set, Collection<ConstraintGroup> value) throws SemanticException {

      List<RexNodeRef> columns = new ArrayList<>(set);
      columns.sort(RexNodeRef.COMPARATOR);
      List<RexNode >operands = new ArrayList<>();

      List<RexNode> columnNodes = columns.stream().map(RexNodeRef::getRexNode).collect(Collectors.toList());
      operands.add(useStructIfNeeded(columnNodes));
      for (ConstraintGroup node : value) {
        List<RexNode> values = node.getValuesInOrder(columns);
        operands.add(useStructIfNeeded(values));
      }

      return rexBuilder.makeCall(HiveIn.INSTANCE, operands);
    }
A group of Constraints.

Examples:
 (a=1 && b=1)
 (a=1)

Note: any rexNode is accepted as constraint; but it might be keyed with the empty key;
which means it can't be parsed as a constraint for some reason; but for completeness...
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java