protected internal virtual void handleStartEvent(EventSubscriptionEntity eventSubscription,IDictionary <string,object> payload,string businessKey,CommandContext commandContext) { string processDefinitionId = eventSubscription.Configuration; ensureNotNull("Configuration of signal start event subscription '" + eventSubscription.Id + "' contains no process definition id.",processDefinitionId); DeploymentCache deploymentCache = Context.ProcessEngineConfiguration.DeploymentCache; ProcessDefinitionEntity processDefinition = deploymentCache.findDeployedProcessDefinitionById(processDefinitionId); if (processDefinition == null || processDefinition.Suspended) { // ignore event subscription LOG.debugIgnoringEventSubscription(eventSubscription,processDefinitionId); } else { ActivityImpl signalStartEvent = processDefinition.findActivity(eventSubscription.ActivityId); PvmProcessInstance processInstance = processDefinition.createProcessInstance(businessKey,signalStartEvent); processInstance.start(payload); } }