public static async Task <int> ExecuteAsync(WorkItemManager workItemManager, string?project, string?type, TextWriter writer)
        {
            if (workItemManager is null)
            {
                throw new ArgumentNullException(nameof(workItemManager));
            }

            if (string.IsNullOrWhiteSpace(project))
            {
                throw new ArgumentException("message", nameof(project));
            }

            if (writer is null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            var items = await workItemManager.DataProvider.ListWorkItemsAsync(project, type);

            var formatter = new WorkItemFormatter();

            foreach (var item in items)
            {
                writer.WriteLine(formatter.FormatShortLine(item));
            }

            return(0);
        }
        public static async Task <int> ExecuteAsync(WorkItemManager manager, string?projectCode, string?id, TextWriter writer)
        {
            if (manager is null)
            {
                throw new ArgumentNullException(nameof(manager));
            }

            if (string.IsNullOrWhiteSpace(projectCode))
            {
                throw new ArgumentException("message", nameof(projectCode));
            }

            if (string.IsNullOrWhiteSpace(id))
            {
                throw new ArgumentException("message", nameof(id));
            }

            if (writer is null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            var workItem = await manager.GetAsync(projectCode, id);

            if (workItem == null)
            {
                writer.WriteLine($"Could not find the specified workitem {id} in project {projectCode}");
            }
            else
            {
                var formatter = new WorkItemFormatter();

                await formatter.FormatAsync(manager.DescriptorManager, workItem, writer);
            }

            return((workItem != null) ? 0 : 1);
        }