protected void mergeConditions(BooleanBranchIntermediate bbo1, BooleanBranchIntermediate bbo2) {
//check to see if the false of bbo2 and bbo1 go to same location.
//previous
ConditionalExpression m1 = bbo2.getExpression();
//current
ConditionalExpression m2 = bbo1.getExpression();
if(igc.getTrueTarget(bbo2) == bbo1) {
if(igc.getFalseTarget(bbo1) == igc.getFalseTarget(bbo2)) {
LogicalGateConditionalExpression expression = new LogicalGateConditionalExpression(m1, m2, LogicalGateType.AND);