public void enter(ProcessContext context) {
		Transition determinedTrans = null;
		for (Transition transit : this.getTransitions().values()) {
			if (transit.getConditionInvoker() != null) {
				boolean canTransit = ("true".equalsIgnoreCase(context
						.getProcessEngine().invoke(
								transit.getConditionInvoker(), context)
						+ ""));
				if(canTransit){
					determinedTrans = transit;
					break;
				}
			}
		}
		if(determinedTrans==null)
			throw new RuntimeException("must have one determined transit in this node:"+this+" ,context"+context);
		else{
			context.setUserTransit(determinedTrans.getTransitName());
			super.enter(context);
		}

	}