protected internal virtual void restoreSignalStartEvent(IProcessDefinition previousProcessDefinition, BpmnModel bpmnModel, StartEvent startEvent, EventDefinition eventDefinition) { SignalEventDefinition signalEventDefinition = (SignalEventDefinition)eventDefinition; ISignalEventSubscriptionEntity subscriptionEntity = EventSubscriptionEntityManager.CreateSignalEventSubscription(); Signal signal = bpmnModel.GetSignal(signalEventDefinition.SignalRef); if (signal != null) { subscriptionEntity.EventName = signal.Name; } else { subscriptionEntity.EventName = signalEventDefinition.SignalRef; } subscriptionEntity.ActivityId = startEvent.Id; subscriptionEntity.ProcessDefinitionId = previousProcessDefinition.Id; if (!ReferenceEquals(previousProcessDefinition.TenantId, null)) { subscriptionEntity.TenantId = previousProcessDefinition.TenantId; } EventSubscriptionEntityManager.Insert(subscriptionEntity); }