private Transformer getConcreteBinaryTransformer(
      Expression expression,
      LayerReader leftParentLayerReader,
      LayerReader rightParentLayerReader) {
    switch (expression.getExpressionType()) {
      case ADDITION:
        return new ArithmeticAdditionTransformer(leftParentLayerReader, rightParentLayerReader);
      case SUBTRACTION:
        return new ArithmeticSubtractionTransformer(leftParentLayerReader, rightParentLayerReader);
      case MULTIPLICATION:
        return new ArithmeticMultiplicationTransformer(
            leftParentLayerReader, rightParentLayerReader);
      case DIVISION:
        return new ArithmeticDivisionTransformer(leftParentLayerReader, rightParentLayerReader);
      case MODULO:
        return new ArithmeticModuloTransformer(leftParentLayerReader, rightParentLayerReader);
      case EQUAL_TO:
        return new CompareEqualToTransformer(leftParentLayerReader, rightParentLayerReader);
      case NON_EQUAL:
        return new CompareNonEqualTransformer(leftParentLayerReader, rightParentLayerReader);
      case GREATER_THAN:
        return new CompareGreaterThanTransformer(leftParentLayerReader, rightParentLayerReader);
      case GREATER_EQUAL:
        return new CompareGreaterEqualTransformer(leftParentLayerReader, rightParentLayerReader);
      case LESS_THAN:
        return new CompareLessThanTransformer(leftParentLayerReader, rightParentLayerReader);
      case LESS_EQUAL:
        return new CompareLessEqualTransformer(leftParentLayerReader, rightParentLayerReader);
      case LOGIC_AND:
        return new LogicAndTransformer(leftParentLayerReader, rightParentLayerReader);
      case LOGIC_OR:
        return new LogicOrTransformer(leftParentLayerReader, rightParentLayerReader);
      default:
        throw new UnsupportedOperationException(
            "Unsupported Expression Type: " + expression.getExpressionType());
    }
  }
Responsible for constructing {@link IntermediateLayer} through Expression.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/IntermediateLayerVisitor.java