public void UpdateArguments()
		{
			Arguments = new List<ArgumentViewModel>();
			int i = 0;
			if (ScheduleProcedure.Arguments == null)
				ScheduleProcedure.Arguments = new List<Argument>();
			foreach (var variable in Procedure.Arguments)
			{
				var argument = new Argument();
				if (ScheduleProcedure.Arguments.Count <= i)
				{
					argument = InitializeArgumemt(variable);
				}
				else
				{
					if (!CheckSignature(ScheduleProcedure.Arguments[i], variable))
					{
						argument = InitializeArgumemt(variable);
					}
					else
						argument = ScheduleProcedure.Arguments[i];
				}
				var argumentViewModel = new ArgumentViewModel(argument, null, null, true, CallingProcedure != null);
				argumentViewModel.Name = variable.Name;
				argumentViewModel.IsList = variable.IsList;
				argumentViewModel.Update(GetVariables(argumentViewModel), argumentViewModel.ExplicitType, argumentViewModel.EnumType, argumentViewModel.ObjectType, argumentViewModel.IsList);
				Arguments.Add(argumentViewModel);
				i++;
			}
			ScheduleProcedure.Arguments = new List<Argument>();
			foreach (var argument in Arguments)
				ScheduleProcedure.Arguments.Add(argument.Argument);
			OnPropertyChanged(() => Arguments);
		}
		public CreateColorStepViewModel(StepViewModel stepViewModel)
			: base(stepViewModel)
		{
			CreateColorStep = (CreateColorStep)stepViewModel.Step;
			ResultArgument = new ArgumentViewModel(CreateColorStep.ResultArgument, stepViewModel.Update, UpdateContent, false);
			AArgument = new ArgumentViewModel(CreateColorStep.AArgument, stepViewModel.Update, UpdateContent);
			RArgument = new ArgumentViewModel(CreateColorStep.RArgument, stepViewModel.Update, UpdateContent);
			GArgument = new ArgumentViewModel(CreateColorStep.GArgument, stepViewModel.Update, UpdateContent);
			BArgument = new ArgumentViewModel(CreateColorStep.BArgument, stepViewModel.Update, UpdateContent);
			ResultArgument.Update(Procedure, ExplicitType.Enum, EnumType.ColorType);
			AArgument.Update(Procedure, ExplicitType.Integer);
			RArgument.Update(Procedure, ExplicitType.Integer);
			GArgument.Update(Procedure, ExplicitType.Integer);
			BArgument.Update(Procedure, ExplicitType.Integer);
		}