internal bool Rename(string newName)
        {
            bool   succussed   = false;
            string newLocation = Path.Combine(FolderInfo.Parent.FullName, newName);

            if (newLocation != FolderInfo.FullName)
            {
                //after MoveTo, FolderInfo.FullName will has a "\" in the end, it will cause some issue, for example,
                //newLocation is "D:\data", after MoveTo, FolderInfo.FullName is "D:\data\"
                try
                {
                    FolderInfo.MoveTo(newLocation);
                    folderInfo = new DirectoryInfo(newLocation);
                    isRenamed  = true;
                    succussed  = true;
                }
                catch (Exception ex)
                {
                    GisEditor.LoggerManager.Log(LoggerLevel.Debug, ex.Message, new ExceptionInfo(ex));

                    System.Windows.Forms.MessageBox.Show(ex.Message, GisEditor.LanguageManager.GetStringResource("DataRepositoryWarningLabel"), System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
                }
            }
            return(succussed);
        }