/// <summary>
        /// 현재 폴더에서 상위/하위 폴더가 존재하는지 찾아냅니다. 만약 접근 가능하지 않을 경우에도 실패로 처리됩니다.
        /// </summary>
        /// <param name="currentFolder">대상 폴더입니다.</param>
        /// <param name="folderName">찾고자 하는 폴더의 이름입니다.</param>
        /// <param name="isFindingUpper">상위 폴더를 찾아낼 것인지 결정합니다.</param>
        /// <returns>찾아낸 결과입니다. 실패할 경우 null을 return합니다.</returns>
        public FolderShortcut CheckFolderFound(Folder currentFolder, string folderName, bool isFindingUpper = false)
        {
            try
            {
                FolderShortcut foundFolderShortcut = Array.Find<FolderShortcut>(currentFolder.LowerFolderInfo, folderInfo => folderInfo.FolderName == folderName);

                if (isFindingUpper)
                {
                    return currentFolder.UpperFolderInfo;
                }
                else
                {
                    if (!foundFolderShortcut.Equals(null))
                    {
                        return foundFolderShortcut;
                    }

                    return null;
                }
            }
            catch (NullReferenceException)
            {
                return null;
            }
        }
        /// <summary>
        /// 현재 폴더에서 찾고자 하는 파일이 있는지 찾아냅니다. 아이템이 얻어지지 않았을 경우에도 탐색 실패로 처리됩니다.
        /// </summary>
        /// <param name="currentFolder">대상 폴더입니다.</param>
        /// <param name="fileName">찾고자 하는 아이템의 이름을 가리킵니다.</param>
        /// <returns>찾아낸 결과입니다. 실패할 경우 null을 return합니다.</returns>
        public Item CheckFileFound(Folder currentFolder, string fileName)
        {
            try
            {
                Item foundItem = Item.FindItem(currentFolder.Items, fileName);

                if (foundItem != null && foundItem.IsGet)
                {
                    return foundItem;
                }
                else
                {
                    return null;
                }
            }
            catch (NullReferenceException)
            {
                return null;
            }
        }
 /// <summary>
 /// 폴더 배열에서 찾고자 하는 아이템을 찾아줍니다. 찾지 못하면 null을 반환합니다.
 /// </summary>
 /// <param name="folders">여러 폴더가 들어있는 배열입니다.</param>
 /// <param name="nameToFind">찾고자 하는 폴더의 이름입니다.</param>
 /// <returns>찾은 폴더입니다.</returns>
 public static Folder FindFolder(Folder[] folders, string nameToFind)
 {
     return Array.Find<Folder>(folders, (folder => folder.Name == nameToFind));
 }
 /// <summary>
 /// 가장 최근에 참조하고 있는 폴더의 경로를 반영시킵니다.
 /// </summary>
 /// <param name="folderToChange">경로를 참조시킬 폴더를 가리킵니다.</param>
 /// <param name="isShrink">참조 폴더 경로를 줄이는 것인지, 늘리는 것인지에 대한 여부입니다.</param>
 public static void ChangeRecentFolderPath(Folder folderToChange, bool isShrink)
 {
     if (isShrink)
     {
         realizedData.recentConsoleFolderPath = realizedData.recentConsoleFolderPath.Replace("/" + folderToChange.Name, string.Empty);
     }
     else
     {
         realizedData.recentConsoleFolderPath = realizedData.recentConsoleFolderPath.Replace(folderToChange.UpperFolderInfo.FolderName, folderToChange.UpperFolderInfo.FolderName + "/" + folderToChange.Name);
     }
 }