async void Search()
        {
            Working = true;
            DisplayIsIndeterminate = true;
            Workspaces.Clear();
            Shelvesets.Clear();

            if (SearchWorkspaces)
            {
                List <Workspace> workspacesFilterByDays = new List <Workspace>();

                await Task.Run(() =>
                {
                    var allWorkspacesForUser = TfsShared.Instance.Vcs.QueryWorkspaces(null, Owner.UserName, null);
                    workspacesFilterByDays.AddRange(allWorkspacesForUser.Where(w => w.LastAccessDate < DateTime.Now.AddDays(-this.MaxDays))
                                                    .Where(w => w.Folders.Any(s => s.ServerItem.StartsWith(string.Format("$/{0}", TfsShared.Instance.ProjectInfo.Name)))));
                });

                if (workspacesFilterByDays != null)
                {
                    foreach (var ws in workspacesFilterByDays)
                    {
                        Workspaces.AddOnUi(ws);
                    }
                }
            }

            if (SearchShelvesets)
            {
                IEnumerable <Shelveset> shelvsetesFilterByDays = null;
                await Task.Run(() =>
                {
                    var allShelvsetes      = TfsShared.Instance.Vcs.QueryShelvesets(null, Owner.UserName);
                    shelvsetesFilterByDays = allShelvsetes.Where(w => w.CreationDate < DateTime.Now.AddDays(-this.MaxDays));
                });

                if (shelvsetesFilterByDays != null)
                {
                    foreach (var sh in shelvsetesFilterByDays)
                    {
                        Shelvesets.AddOnUi(sh);
                    }
                }
            }
            Working = false;
            DisplayIsIndeterminate = false;
        }