/*new progress function, where only the positive effects of actions will be applied */
        public virtual iThinkPlan progressPositive(iThinkPlan Step, iThinkAction Action)
        {
            iThinkPlan          NewStep = new iThinkPlan(Step);
            List <iThinkAction> curActions;

            curActions = NewStep.getPlanActions();
            curActions.Add(Action);

            NewStep.setState(Action.applyPositiveEffects(Step.getState()));

            return(NewStep);
        }
		/*new progress function, where only the positive effects of actions will be applied */
		public virtual iThinkPlan progressPositive( iThinkPlan Step, iThinkAction Action )
		{
			iThinkPlan NewStep = new iThinkPlan( Step );
			List<iThinkAction> curActions;
			
			curActions = NewStep.getPlanActions();
			curActions.Add( Action );
			
			NewStep.setState( Action.applyPositiveEffects( Step.getState() ) );
			
			return NewStep;
		}