/// <summary>
		/// </summary>
		/// <exception cref="ArgumentNullException">
		/// <para><paramref name="groupToContainCheckedMenuItem"/> is <see langword="null"/>.</para>
		/// -or-
		/// <para><paramref name="menuItemToCheck"/> is <see langword="null"/>.</para>
		/// </exception>
		public void ChangeChecked(INuGenMenuItemGroup groupToContainCheckedMenuItem, ToolStripMenuItem menuItemToCheck)
		{
			if (groupToContainCheckedMenuItem == null)
			{
				throw new ArgumentNullException("groupToContainCheckedMenuItem");
			}

			if (menuItemToCheck == null)
			{
				throw new ArgumentNullException("menuItemToCheck");
			}

			if (!groupToContainCheckedMenuItem.Items.Contains(menuItemToCheck))
			{
				return;
			}

			if (_groups.ContainsKey(groupToContainCheckedMenuItem))
			{
				ToolStripMenuItem menuItem = _groups[groupToContainCheckedMenuItem];

                if (menuItem != menuItemToCheck)
                {
                    if (menuItem != null)
                    {
                        menuItem.Checked = false;
                    }

                    _groups[groupToContainCheckedMenuItem] = menuItemToCheck;
                    menuItemToCheck.Checked = true;
                }
			}
			else
			{
				_groups.Add(groupToContainCheckedMenuItem, menuItemToCheck);
				menuItemToCheck.Checked = true;
			}
		}
		/*
		 * CheckedChanged
		 */

		/// <summary>
		/// </summary>
		/// <param name="groupToContainCheckedMenuItem"></param>
		/// <param name="checkedMenuItem"></param>
		/// <exception cref="ArgumentNullException">
		/// <para>
		///		<paramref name="groupToContainCheckedMenuItem"/> is <see langword="null"/>.
		/// </para>
		/// -or-
		/// <para>
		///		<paramref name="checkedMenuItem"/> is <see langword="null"/>.
		/// </para>
		/// </exception>
		public void CheckedChanged(INuGenMenuItemGroup groupToContainCheckedMenuItem, ToolStripMenuItem checkedMenuItem)
		{
			if (groupToContainCheckedMenuItem == null)
			{
				throw new ArgumentNullException("groupToContainCheckedMenuItem");
			}

			if (checkedMenuItem == null)
			{
				throw new ArgumentNullException("checkedMenuItem");
			}

			if (!groupToContainCheckedMenuItem.Items.Contains(checkedMenuItem))
			{
				return;
			}

			if (this.Groups.ContainsKey(groupToContainCheckedMenuItem))
			{
				ToolStripMenuItem menuItem = this.Groups[groupToContainCheckedMenuItem];

				if (menuItem != checkedMenuItem)
				{
					if (menuItem != null)
					{
						menuItem.Checked = false;
					}

					this.Groups[groupToContainCheckedMenuItem] = checkedMenuItem;
				}
			}
			else
			{
				this.Groups.Add(groupToContainCheckedMenuItem, checkedMenuItem);
			}
		}