/// <summary>
        /// Initializes a new instance of the <see cref="AssemblyLoader"/> class.
        /// </summary>
        public AssemblyLoader()
        {
            appDomain       = AppDomain.CreateDomain("CodeCoverageUtil.AssemblyLoaderAppDomainWorker");
            appDomainWorker = (AssemblyLoaderAppDomainWorker)appDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(AssemblyLoaderAppDomainWorker).FullName);

            appDomainWorker.Initialize();
        }
 /// <summary>
 /// Disposes the specified disposing.
 /// </summary>
 /// <param name="disposing">if set to <c>true</c> [disposing].</param>
 private void Dispose(bool disposing)
 {
     if (!disposed)
     {
         if (disposing)
         {
             if (appDomain != null)
             {
                 appDomainWorker = null;
                 AppDomain.Unload(appDomain);
                 appDomain = null;
             }
         }
     }
     disposed = true;
 }