private void generateBranch(AndExpression expr,
                                    Label label, boolean whenTrue) {
            if (whenTrue) {
                Label falseLabel = mBuilder.createLabel();
                generateBranch(expr.getLeftExpression(), falseLabel, false);
                generateBranch(expr.getRightExpression(), label, true);
                falseLabel.setLocation();
            }
            else {
                generateBranch(expr.getLeftExpression(), label, false);
                generateBranch(expr.getRightExpression(), label, false);
            }
        }