public static GroupByTimeParameter deserialize(ByteBuffer buffer) {
    GroupByTimeParameter groupByTimeParameter = new GroupByTimeParameter();
    groupByTimeParameter.setStartTime(ReadWriteIOUtils.readLong(buffer));
    groupByTimeParameter.setEndTime(ReadWriteIOUtils.readLong(buffer));
    groupByTimeParameter.setInterval(TimeDuration.deserialize(buffer));
    groupByTimeParameter.setSlidingStep(TimeDuration.deserialize(buffer));
    groupByTimeParameter.setLeftCRightO(ReadWriteIOUtils.readBool(buffer));
    return groupByTimeParameter;
  }
The parameter of `GROUP BY TIME`.

<p>Remember: interval and slidingStep is always in timestamp unit before transforming to
timeRangeIterator even if it's by month unit.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/GroupByTimeParameter.java