public async Task <IActionResult> Index(
            string definitionId,
            WorkflowStatus status,
            CancellationToken cancellationToken)
        {
            var definition = await workflowDefinitionStore.GetByIdAsync(
                definitionId,
                VersionOptions.Latest,
                cancellationToken
                );

            if (definition == null)
            {
                return(NotFound());
            }

            var instances = await workflowInstanceStore
                            .ListByStatusAsync(definitionId, status, cancellationToken)
                            .ToListAsync();

            var model = new WorkflowInstanceListViewModel
            {
                WorkflowDefinition = definition,
                ReturnUrl          = Url.Action("Index", new { definitionId, status }),
                WorkflowInstances  = instances.Select(
                    x => new WorkflowInstanceListItemModel
                {
                    WorkflowInstance = x
                }
                    )
                                     .ToList()
            };

            return(View(model));
        }