public void serialize(ByteBuffer byteBuffer) {
      resolvedFunction.serialize(byteBuffer);
      ReadWriteIOUtils.write(arguments.size(), byteBuffer);
      for (Expression argument : arguments) {
        Expression.serialize(argument, byteBuffer);
      }
      ReadWriteIOUtils.write(distinct, byteBuffer);
      ReadWriteIOUtils.write(filter.isPresent(), byteBuffer);
      filter.ifPresent(symbol -> Symbol.serialize(symbol, byteBuffer));
      ReadWriteIOUtils.write(orderingScheme.isPresent(), byteBuffer);
      orderingScheme.ifPresent(scheme -> scheme.serialize(byteBuffer));
      ReadWriteIOUtils.write(mask.isPresent(), byteBuffer);
      mask.ifPresent(symbol -> Symbol.serialize(symbol, byteBuffer));
    }
@return whether this node should produce default output in case of no input pages. For example
    for query:
    <p>SELECT count(*) FROM nation WHERE nationkey < 0
    <p>A default output of "0" is expected to be produced by FINAL aggregation operator.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationNode.java