public List <HierarchicalViewModelBase> LoadModel(HierarchicalViewModelBase parent) { var service = new TaxaService(User); List <Taxon> model = null; if (parent == null) { model = service.GetTopLevelTaxa(); } else { model = service.GetTaxaForParent((parent as TaxonViewModel).TaxaID.Value); } if (model != null) { var temp = model.Where((taxon) => { return(_options == LookupOptions.TaxonExcludeAvailableNames ? !taxon.AvailableName.ValueOrFalse() : true); }).Select((m) => { return(new TaxonViewModel(parent, m, _explorer.GenerateTaxonDisplayLabel)); }); var list = new List <HierarchicalViewModelBase>(temp); return(list); } return(null); }