public ResultSetProcessorRowPerGroupForge(
     EventType resultEventType,
     EventType[] typesPerStream,
     ExprNode[] groupKeyNodeExpressions,
     ExprForge optionalHavingNode,
     bool isSelectRStream,
     bool isUnidirectional,
     OutputLimitSpec outputLimitSpec,
     bool isSorting,
     bool isHistoricalOnly,
     ResultSetProcessorOutputConditionType? outputConditionType,
     EventType[] eventTypes,
     OutputConditionPolledFactoryForge optionalOutputFirstConditionFactory,
     MultiKeyClassRef multiKeyClassRef,
     bool unboundedProcessor)
 {
     ResultEventType = resultEventType;
     this.typesPerStream = typesPerStream;
     GroupKeyNodeExpressions = groupKeyNodeExpressions;
     OptionalHavingNode = optionalHavingNode;
     IsSorting = isSorting;
     IsSelectRStream = isSelectRStream;
     IsUnidirectional = isUnidirectional;
     OutputLimitSpec = outputLimitSpec;
     IsHistoricalOnly = isHistoricalOnly;
     OutputConditionType = outputConditionType;
     EventTypes = eventTypes;
     OptionalOutputFirstConditionFactory = optionalOutputFirstConditionFactory;
     groupKeyTypes = ExprNodeUtilityQuery.GetExprResultTypes(groupKeyNodeExpressions);
     this.multiKeyClassRef = multiKeyClassRef;
     this.unboundedProcessor = unboundedProcessor;
 }
 public ResultSetProcessorAggregateGroupedForge(
     EventType resultEventType,
     ExprNode[] groupKeyNodeExpressions,
     ExprForge optionalHavingNode,
     bool isSelectRStream,
     bool isUnidirectional,
     OutputLimitSpec outputLimitSpec,
     bool isSorting,
     bool isHistoricalOnly,
     ResultSetProcessorOutputConditionType? outputConditionType,
     OutputConditionPolledFactoryForge optionalOutputFirstConditionFactory,
     EventType[] eventTypes,
     MultiKeyClassRef multiKeyClassRef)
 {
     ResultEventType = resultEventType;
     GroupKeyNodeExpressions = groupKeyNodeExpressions;
     OptionalHavingNode = optionalHavingNode;
     IsSorting = isSorting;
     IsSelectRStream = isSelectRStream;
     IsUnidirectional = isUnidirectional;
     OutputLimitSpec = outputLimitSpec;
     IsHistoricalOnly = isHistoricalOnly;
     OutputConditionType = outputConditionType;
     OptionalOutputFirstConditionFactory = optionalOutputFirstConditionFactory;
     EventTypes = eventTypes;
     GroupKeyTypes = ExprNodeUtilityQuery.GetExprResultTypes(groupKeyNodeExpressions);
     MultiKeyClassRef = multiKeyClassRef;
 }
 public ResultSetProcessorRowPerGroupRollupForge(
     EventType resultEventType,
     GroupByRollupPerLevelForge perLevelForges,
     ExprNode[] groupKeyNodeExpressions,
     bool isSelectRStream,
     bool isUnidirectional,
     OutputLimitSpec outputLimitSpec,
     bool isSorting,
     bool noDataWindowSingleStream,
     AggregationGroupByRollupDescForge groupByRollupDesc,
     bool isJoin,
     bool isHistoricalOnly,
     bool iterateUnbounded,
     ResultSetProcessorOutputConditionType? outputConditionType,
     OutputConditionPolledFactoryForge optionalOutputFirstConditionFactory,
     EventType[] eventTypes,
     MultiKeyClassRef multiKeyClassRef)
 {
     ResultEventType = resultEventType;
     GroupKeyNodeExpressions = groupKeyNodeExpressions;
     PerLevelForges = perLevelForges;
     IsSorting = isSorting;
     IsSelectRStream = isSelectRStream;
     IsUnidirectional = isUnidirectional;
     OutputLimitSpec = outputLimitSpec;
     var noDataWindowSingleSnapshot = iterateUnbounded ||
                                      outputLimitSpec != null &&
                                      outputLimitSpec.DisplayLimit == OutputLimitLimitType.SNAPSHOT &&
                                      noDataWindowSingleStream;
     unbounded = noDataWindowSingleSnapshot && !isHistoricalOnly;
     GroupByRollupDesc = groupByRollupDesc;
     IsJoin = isJoin;
     IsHistoricalOnly = isHistoricalOnly;
     OutputConditionType = outputConditionType;
     OptionalOutputFirstConditionFactory = optionalOutputFirstConditionFactory;
     EventTypes = eventTypes;
     GroupKeyTypes = ExprNodeUtilityQuery.GetExprResultTypes(groupKeyNodeExpressions);
     MultiKeyClassRef = multiKeyClassRef;
 }