/// <summary>
		/// Initializes a new instance of the <see cref="ActionArgumentsEditorForm"/> class.
		/// </summary>
		/// <param name="actionArgs">The action args.</param>
		/// <param name="context">The context.</param>
		public ActionArgumentsEditorForm(ActionArgumentCollection actionArgs,
		                                 ITypeDescriptorContext context)
		{
			InitializeComponent();

			this.actionArgs = actionArgs;
			this.context = context;
		}
		public ActionArgumentsPropertyGridAdapter(ActionArgumentCollection actionArgs)
		{
			this.actionArgs = actionArgs;
		}
		/// <summary>
		/// Resolves the action arguments.
		/// </summary>
		/// <param name="actionArgs">The action args.</param>
		/// <param name="resolvedActionArgs">The resolved action args.</param>
		public void ResolveActionArguments(ActionArgumentCollection actionArgs,
		                                   IDictionary resolvedActionArgs)
		{
			if (actionArgs == null)
			{
				throw new ArgumentNullException("actionArgs");
			}

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

			foreach(ActionArgument actionArg in actionArgs)
			{
				if (actionArg.IsValid() &&
				    (!resolvedActionArgs.Contains(actionArg.Name)))
				{
					object argument = ResolveActionArgument(actionArg);

					if (argument != null)
					{
						resolvedActionArgs.Add(actionArg.Name, argument);
					}
				}
			}
		}