public ViewableActivationResult Activate( AgentInstanceContext agentInstanceContext, bool isSubselect, bool isRecoveringResilient) { PatternAgentInstanceContext patternAgentInstanceContext = agentInstanceContext.StatementContext.PatternContextFactory.CreatePatternAgentContext( _patternContext, agentInstanceContext, _hasConsumingFilter); EvalRootNode rootNode = EvalNodeUtil.MakeRootNodeFromFactory(_rootFactoryNode, patternAgentInstanceContext); EventStream sourceEventStream = _isCanIterate ? (EventStream) new ZeroDepthStreamIterable(_eventType) : (EventStream) new ZeroDepthStreamNoIterate(_eventType); StatementContext statementContext = _patternContext.StatementContext; PatternMatchCallback callback = matchEvent => { EventBean compositeEvent = statementContext.EventAdapterService.AdapterForTypedMap( matchEvent, _eventType); sourceEventStream.Insert(compositeEvent); }; var rootState = (EvalRootState)rootNode.Start(callback, _patternContext, isRecoveringResilient); return(new ViewableActivationResult( sourceEventStream, rootState, null, rootState, rootState, _suppressSameEventMatches, _discardPartialsOnMatch, null)); }