public override List <WorkItemData> GetWorkItems(int retryLimit = 0)
        {
            Log.Debug("WorkItemQuery: ===========GetWorkItems=============");
            var wiClient = (TfsWorkItemMigrationClient)MigrationClient.WorkItems;

            Telemetry.TrackEvent("WorkItemQuery.Execute", Parameters, null);
            Log.Debug("WorkItemQuery: TeamProjectCollection: {QueryTarget}", wiClient.Store.TeamProjectCollection.Uri.ToString());
            Log.Debug("WorkItemQuery: Query: {QueryText}", Query);
            Log.Debug("WorkItemQuery: Paramiters: {@QueryParams}", Parameters);
            foreach (var item in Parameters)
            {
                Log.Debug("WorkItemQuery: {0}: {1}", item.Key, item.Value);
            }
            return(TfsExtensions.CallWithRetry <TfsWorkItemMigrationClient, IList <WorkItem> >(GetWorkItemsFromQuery, wiClient, 0, retryLimit).ToWorkItemDataList());
        }
 public override WorkItemData GetWorkItem(int id, int retryLimit = 20)
 {
     return(TfsExtensions.CallWithRetry <int, WorkItemData>(GetWorkItemInternal, id, retryLimit));
 }