public DirectoryInfo CopyToCurrent(DirectoryInfo appDir)
            {
                var currentDir = Path.Combine(appDir.Parent.FullName, "current");

                if (appDir.Exists)
                {
                    try
                    {
                        this.Log().Info(String.Format("Moving {0} directory to current", appDir.Name));
                        if (Directory.Exists(currentDir))
                        {
                            try
                            {
                                Utility.EmptyDirectory(currentDir);
                            }
                            catch (Exception e)
                            {
                                this.Log().Info("Failed to empty current directory, will try to override files");
                            }
                        }
                        else
                        {
                            Directory.CreateDirectory(currentDir);
                        }
                        Utility.CopyDirectory(appDir, new DirectoryInfo(currentDir));
                    }
                    catch (Exception e)
                    {
                        this.Log().InfoException("Failed to move files to current directory", e);
                    }
                }
                if (!Directory.Exists(currentDir))
                {
                    return(null);
                }
                return(new DirectoryInfo(currentDir));
            }