@Override
  protected @Nullable SchemaFilter visitLogicalExpression(
      final LogicalExpression node, final Context context) {
    final List<SchemaFilter> children = new ArrayList<>();
    for (final Expression term : node.getTerms()) {
      final SchemaFilter childResult = term.accept(this, context);
      if (Objects.nonNull(childResult)) {
        children.add(childResult);
      } else {
        return null;
      }
    }
    return node.getOperator() == LogicalExpression.Operator.OR
        ? new OrFilter(children)
        : new AndFilter(children);
  }
The {@link ConvertSchemaPredicateToFilterVisitor} will convert a predicate to {@link
SchemaFilter}. For the predicates which can not be converted, this will return {@code null}.
However, for IdDeterminedPredicate, this visitor shall never return {@code null}.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java