int numStreams = streamNames.length;
final boolean isJoin = statementSpec.getStreamSpecs().size() > 1;
final boolean hasContext = statementSpec.getOptionalContextName() != null;
// First we create streams for subselects, if there are any
SubSelectActivationCollection subSelectStreamDesc = EPStatementStartMethodHelperSubselect.createSubSelectActivation(services, statementSpec, statementContext);
// Create streams and views
ViewableActivator[] eventStreamParentViewableActivators = new ViewableActivator[numStreams];
ViewFactoryChain[] unmaterializedViewChain = new ViewFactoryChain[numStreams];
String[] eventTypeNames = new String[numStreams];