public static ExternalTaskEntity createAndInsert(ExecutionEntity execution, string topic, long priority) { ExternalTaskEntity externalTask = new ExternalTaskEntity(); externalTask.TopicName = topic; externalTask.ExecutionId = execution.Id; externalTask.ProcessInstanceId = execution.ProcessInstanceId; externalTask.ProcessDefinitionId = execution.ProcessDefinitionId; externalTask.ActivityId = execution.ActivityId; externalTask.ActivityInstanceId = execution.ActivityInstanceId; externalTask.TenantId = execution.TenantId; externalTask.Priority = priority; ProcessDefinitionEntity processDefinition = execution.getProcessDefinition(); externalTask.ProcessDefinitionKey = processDefinition.Key; externalTask.insert(); externalTask.produceHistoricExternalTaskCreatedEvent(); return(externalTask); }