public void MoveUp()
        {
            var selectedCategory = GetSelectedAchievementCategory();

            var node = tvwAchievementCategories.SelectedNode.Parent;
            TreeNodeCollection nodes = null;

            if (node != null && node.Nodes != null)
            {
                nodes = node.Nodes;
            }
            else
            {
                nodes = tvwAchievementCategories.Nodes;
            }

            var categories = nodes.Cast <AchievementCategoryTreeNode>().Select(x => x.AchievementCategory).ToList();

            var filteredIndex = categories.FindIndex(x => x == selectedCategory);

            if (filteredIndex == 0) // Already top element so can't go up
            {
                return;
            }

            dataManager.Swap(categories[filteredIndex], categories[filteredIndex - 1]);

            RefreshTreeView();
        }