state = new ActivityPresentationState(
if (this.activity.hasInputProducts() || this.activity.hasGuidanceWithoutType( "Liste de controles") || this.activity.getRole() .hasGuidanceWithoutType("Liste de controles")) { state = new PreConditionCheckerState( this.activityScheduler, this.activity); } else {  state = new ActivityPresentationState(
	public boolean manageRequest (Request request)	{		// AbstractActivityState temporaire		AbstractActivityState state;		// on regarde le type de requete que l'on recoit		switch (request.getCurrentRequest())		{			case NEXT:				// si on est sur la derni?re ?tape				if (this.index == this.stepList.size() - 1)				{					if (this.activity.hasOutputProducts()							|| this.activity									.hasGuidanceType("Liste de controles")							|| this.activity.getRole().hasGuidanceType(									"Liste de controles"))					{						state = new PostConditionCheckerState(								this.activityScheduler, this.activity);					}					else						return false;				}				// sinon on passe au step suivant				else				{					state = new StepState(this.activityScheduler,							this.activity, this.index + 1);				}				break;			case PREVIOUS:				// si on est sur la premi?re ?tape on revient sur				// l'activityPresentation				if (this.index == 0)				{					state = new ActivityPresentationState(							this.activityScheduler, this.activity);				}				else				{					state = new StepState(this.activityScheduler,							this.activity, this.index - 1);				}				break;			case GOTOSTEP:				return super.manageRequest(request);			default:				return false;		}		this.activityScheduler.setState(state);		return true;	}