//public virtual TModelList CreateModelListFromInternalList<TModelList, TModel, TList>() // where TModelList : IPSModelList<TModel, TList, T>, new() // where TModel : IPSModel<TModel, T>, new() // where TList : IPSEntityList<T>, new() //{ // // All TModelList (e.g. CommonPersonModelList) must have valid constructor (TPrimaryList primaryList, bool useInternalListFlag) as Activator expectation // TModelList resultList = (TModelList)Activator.CreateInstance(typeof(TModelList), new object[] { this, true }); // return resultList; //} //public virtual TModelList CreateModelListFromObservableList<TModelList, TModel, TList>() // where TModelList : IPSModelList<TModel, TList, T>, new() // where TModel : IPSModel<TModel, T>, new() // where TList : IPSEntityList<T>, new() //{ // // All TModelList (e.g. CommonPersonModelList) must have valid constructor (TPrimaryList primaryList, bool useInternalListFlag) as Activator expectation // TModelList resultList = (TModelList)Activator.CreateInstance(typeof(TModelList), new object[] { this, false }); // return resultList; //} public virtual TList CreateACloneFromObservableList <TList>() where TList : IVHEntityList <T>, new() { TList list = default(TList); this.ReplaceInternalListWithObservableList(); list = base.CreateAClone <TList>(); list.ReplaceObservableListWithInternalList(); return(list); }