/// <summary>
        /// Dispose the dependent objects of data import job
        /// </summary>
        protected virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                Playback.PlaybackError -= OnPlaybackError;

                if (!ReuseExistingApplicationUnderTest)
                {
                    if (_applicationUnderTest != null)
                    {
                        _applicationUnderTest.Close();
                        _applicationUnderTest.Dispose();
                    }
                    else if (ApplicationUnderTestProcess != null)
                    {
                        ApplicationUnderTestProcess.CloseAllInstances();
                    }
                }

                _applicationUnderTest       = null;
                ApplicationUnderTestProcess = null;
            }
        }