// materialize views
streamViews = new Viewable[numStreams];
topViews = new Viewable[numStreams];
for (int i = 0; i < numStreams; i++) {
boolean hasPreviousNode = viewResourceDelegate.getPerStream()[i].getPreviousRequests() != null && !viewResourceDelegate.getPerStream()[i].getPreviousRequests().isEmpty();
ViewServiceCreateResult createResult = services.getViewService().createViews(eventStreamParentViewable[i], viewFactoryChains[i], viewFactoryChainContexts[i], hasPreviousNode);
topViews[i] = createResult.getTopViewable();
streamViews[i] = createResult.getFinalViewable();
}
// determine match-recognize "previous"-node strategy (none if not present, or one handling and number of nodes)
EventRowRegexNFAViewService matchRecognize = EventRowRegexHelper.recursiveFindRegexService(topViews[0]);
if (matchRecognize != null) {