public void Init(IEnumerable <File> files) { var folderList = new List <GFolder>(); var fileList = new List <GFile>(); foreach (var file in files) { if (MimeTypes.IsGoogleFolder(file.MimeType)) { folderList.Add(new GFolder(file)); } else { fileList.Add(new GFile(file)); } } TriageFolders(folderList); TriageFiles(fileList, folderList); this.Folders = new ObservableCollection <GFolder>(folderList.Where(a => a.GParent == null)); this.Files = new ObservableCollection <GFile>(fileList.Where(a => a.GParent == null)); OnPropertyChanged(nameof(Folders)); OnPropertyChanged(nameof(Files)); OnPropertyChanged(nameof(Items)); }