VariableMetaData variableMetaData = services.getVariableService().getVariableMetaData(createDesc.getVariableName());
Viewable outputView;
if (statementSpec.getOptionalContextName() != null) {
EventType eventType = CreateVariableView.getEventType(statementContext.getStatementId(), services.getEventAdapterService(), variableMetaData);
StatementAgentInstanceFactoryCreateVariable contextFactory = new StatementAgentInstanceFactoryCreateVariable(statementContext, services, variableMetaData, eventType);
ContextMergeView mergeView = new ContextMergeView(eventType);
outputView = mergeView;
ContextManagedStatementCreateVariableDesc statement = new ContextManagedStatementCreateVariableDesc(statementSpec, statementContext, mergeView, contextFactory);
services.getContextManagementService().addStatement(statementSpec.getOptionalContextName(), statement, isRecoveringResilient);
}