public List <ItemViewModelBase <TDomainClass> > GetItemViewModelCollection( ModelBase <TDomainClass, TKey> collection, ViewModelFactoryBase <TDomainClass, TKey> factory) { List <ItemViewModelBase <TDomainClass> > items = new List <ItemViewModelBase <TDomainClass> >(); foreach (TDomainClass obj in collection.All) { items.Add(factory.CreateItemViewModel(obj)); } return(items); }