protected override async Task <ITreeNodeContainer> CreateRootNodeAsync() { var root = new GoogleDriveRoot(); var myDriveFolder = await _gService.GetMyDriveAsync(); var myDrive = new GoogleMyDrive(myDriveFolder.File); var teamDrive = new GoogleTeamDrive(); var activityDrive = new GoogleActivityDrive(); var adhocDrive = new GoogleAdhocDrive(); var searchResultDrive = new GoogleSearchResultDrive(); _rootFolder = new GoogleDriveFolder(root, null, GetRootsAsync); _myDriveFolder = new GoogleDriveFolder(myDrive, _rootFolder, GetFilesAsync); _teamDriveFolder = new GoogleDriveFolder(teamDrive, _rootFolder, GetTeamDrivesAsync); _activityFolder = new GoogleDriveFolder(activityDrive, _rootFolder, GetActivityFilesAsync); _adhocFolder = new GoogleDriveFolder(adhocDrive, _rootFolder, GetAdhocFilesAsync); _searchResultFolder = new GoogleDriveFolder(searchResultDrive, _rootFolder, GetSearchResultAsync); return(new TreeNodeContainer(_rootFolder, null, this)); }