private void SynchronizeDirectory(object obj)
        {
            SynchronizationArguments args = (SynchronizationArguments)obj;

            SynchTotalFileCount = countFiles(args.oDirectory, args.includeSubfolders);
            this.SynchronizeDirectory(args.oBaseDirectory, args.oDirectory, args.cDirectory, args.includeSubfolders, args.delete);
            OnFinishedSynch(EventArgs.Empty);
        }
        public void aSynchronizeDirectory(string oBaseDir, string oDirectory, string cDirectory, bool includeSubfolders, bool delete)
        {
            //string[] arry = { oDirectory, cDirectory };
            SynchronizationArguments args = new SynchronizationArguments(
                oBaseDir, oDirectory, cDirectory, includeSubfolders, delete);

            ThreadPool.QueueUserWorkItem(new WaitCallback(SynchronizeDirectory), args);
        }