public ReadOnlyCollection <WorkflowQueueInfo> GetWorkflowQueueData() { if (_deadWorkflow != null) { return(_deadWorkflow.GetWorkflowQueueInfos()); } while (true) { WorkflowExecutor executor = _runtime.Load(this); if (executor.IsInstanceValid) { try { return(executor.GetWorkflowQueueInfos()); } catch (InvalidOperationException) { if (executor.IsInstanceValid) { throw; } } } } }