public <R, C> R accept(PlanVisitor<R, C> visitor, C context) {
    return visitor.visitPlan(this, context);
  }
Create sub node which has exactly the same function of origin node, only its children is a part
of it, which is composed by the [startIndex, endIndex) of origin children list.

@param subNodeId the sub node id
@param startIndex the start Index of origin children
@param endIndex the endIndex Index of origin children
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNode.java