public static void InitRootAlbum()
        {
            if (PwgModelManager.Instance.AlbumList == null)
            {
                throw new SystemException("The PwgModelManager.Instance.AlbumList must be initialized from presentation tread before calling this.");
            }
            if (PwgModelManager.Instance.AlbumList.Count != 1)
            {
                PwgModelManager.Instance.AlbumList.Clear();
                PwgRootAlbumWPF aRootAlbum = new PwgRootAlbumWPF();
                aRootAlbum.Name = "Albums";
                aRootAlbum.Childrens = new PwgAlbumListWPF();
                PwgModelManager.Instance.AlbumList.Add(aRootAlbum);
                PwgModelManager.Instance.RootAlbumList = aRootAlbum;
            }

            if (PwgModelManager.Instance.RootAlbumList == null)
            {
                PwgModelManager.Instance.RootAlbumList = PwgModelManager.Instance.AlbumList.ElementAtOrDefault(0);
            }
        }
        public static void ConvertPwgAlbumListToPwgRootAlbumWPF(List<PwgAlbum> aPwgAlbumList, ref PwgRootAlbumWPF aPwgRootAlbum)
        {
            if (aPwgAlbumList != null)
            {
                if ((aPwgRootAlbum == null)
                    || (aPwgRootAlbum.Childrens == null))
                {
                    throw new SystemException("The PwgAlbumListWPFHelper.InitRootAlbum must be called before calling this.");
                }

                if (aPwgRootAlbum.Childrens == null)
                {
                    aPwgRootAlbum.Childrens = new PwgAlbumListWPF();
                }

                PwgAlbumListWPF aPwgAlbumListWPF = aPwgRootAlbum.Childrens;
                foreach (PwgAlbum pwgCat in aPwgAlbumList)
                {
                    AddPwgAlbumToList(pwgCat, ref aPwgAlbumListWPF);
                }
            }
        }