// Called by OutputProcessView
        public void Indicate(
            UniformPair<EventBean[]> results,
            StatementDispatchTLEntry dispatchTLEntry)
        {
            if (results != null) {
                if (_statementMetricHandle.IsEnabled) {
                    var numIStream = results.First?.Length ?? 0;
                    var numRStream = results.Second?.Length ?? 0;
                    _epServicesContext.MetricReportingService.AccountOutput(_statementMetricHandle, numIStream, numRStream, _epStatement, _runtime);
                }

                var lastResults = dispatchTLEntry.Results;
                if (results.First != null && results.First.Length != 0) {
                    lastResults.Add(results);
                }
                else if (results.Second != null && results.Second.Length != 0) {
                    lastResults.Add(results);
                }
            }
        }
        public void Execute(StatementDispatchTLEntry dispatchTLEntry)
        {
            var dispatches = dispatchTLEntry.Results;

            var events = EventBeanUtility.FlattenList(dispatches);

            if (InstrumentationHelper.ENABLED) {
                InstrumentationHelper.Get().QStatementResultExecute(
                    events, _epStatement.DeploymentId, _epStatement.StatementId, _epStatement.Name, Thread.CurrentThread.ManagedThreadId);
                InstrumentationHelper.Get().AStatementResultExecute();
            }

            if (_outboundThreading) {
                _epServicesContext.ThreadingService.SubmitOutbound(new OutboundUnitRunnable(events, this));
            }
            else {
                ProcessDispatch(events);
            }

            dispatches.Clear();
        }