@Override
	public Block next() throws InterpreterException {
		boolean b = false;
		try {
			Value v = condition_.run(this);
			b = v.getBoolean();
		} catch (Exception e) {
			throw new InterpreterException(e.getMessage(), getLine());
		}
		if (b) {
			try {
				return parseForRun();
			} catch (InterpreterException ex) {
				throw new InterpreterException(ex.getMessage(), getLine());
			}
		} else {

			if (else_ != null) {

				return else_;
			} else {
				return super.next();
			}
		}
	}