code: private void forIterator(Env env, Scope scope, Writer writer) {
  		Ctrl ctrl = scope.getCtrl();
  		Object outer = scope.get("for");
  		ctrl.setLocalAssignment();
  		ForIteratorStatus forIteratorStatus = new ForIteratorStatus(outer, forCtrl.getExpr().eval(scope), location);
  		ctrl.setWisdomAssignment();
  		scope.setLocal("for", forIteratorStatus);
  		
  		Iterator<?> it = forIteratorStatus.getIterator();
  		String itemName = forCtrl.getId();
  		while(it.hasNext()) {
  			scope.setLocal(itemName, it.next());
  			stat.exec(env, scope, writer);
  			forIteratorStatus.nextState();
  			
  			if (ctrl.isJump()) {
  				if (ctrl.isBreak()) {
  					ctrl.setJumpNone();
  					break ;
  				} else if (ctrl.isContinue()) {
  					ctrl.setJumpNone();
  					continue ;
  				} else {
  					return ;
  				}
  			}
  		}
  		
  		if (_else != null && forIteratorStatus.getIndex() == 0) {
  			_else.exec(env, scope, writer);
  		}
  	}
docs: #for( id : expr)