@Override
    public ExecutionContext run(ExecutionContext context) throws InterpretationException {

        Value val = ((AbsValueNode) getChildAt(this.getChildCount() - 1)).evaluate(context);

        if (val.getType() == VariableType.NUMBER) {
            for (int i = 0; i < ((Number) val.getValue()).intValue(); i++) {
                for (int j = 0; j < this.getChildCount() - 1; j++) {
                    ((AbsStatementNode) this.getChildAt(j)).run(context);
                }
            }
            return context;
        } else
            throw new InterpretationException(InterpretationErrorType.BOOLEAN_EXPECTED, line, null);
    }