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