public void TD()
        {
            Init();

            
            
            ThreadProperties TP = new ThreadProperties( ThreadPriority.Highest,ProcessPriorityClass.High);
            TP.SetCurrentThread();

            //Thread.CurrentThread.Priority = ThreadPriority.Highest;
            //Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;

            var tr2 = TimeTracer.TimeTrack("Session Building");
            using (tr2)
            {
                _MS = MusicSessionImpl.GetSession(_SK.Builder);
                _msi = _MS as MusicSessionImpl;
                GC.Collect();
                GC.WaitForFullGCComplete();
            }

            _BuildSessionTime = (TimeSpan)tr2.EllapsedTimeSpent;

            Assert.That(_MS.AllAlbums.Count, Is.EqualTo(0));
            Assert.That(_MS.AllGenres.Count, Is.EqualTo(0));
            Assert.That(_MS.AllArtists.Count, Is.EqualTo(0));



            var tr = TimeTracer.TimeTrack("Load before vacuum");
            using (tr)
            {
                IMusicImporter imi = _MS.GetDBImporter();
                Assert.That(imi, Is.Not.Null);
                imi.Load();
            }

            _OpenTime = (TimeSpan)tr.EllapsedTimeSpent;


            Assert.That(_MS.AllAlbums.Count, Is.EqualTo(_AlbumNumber));
            Assert.That(_MS.AllArtists.Count, Is.EqualTo(_ArtistNumber));

            GC.Collect();
            GC.WaitForFullGCComplete();
        }
 public ThreadPropertiesChanger(ThreadProperties itarget)
 {
     _Original = ThreadProperties.FromCurrentThread();
     _Target = itarget;
     _Target.SetCurrentThread();
 }