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);
        }