Enumeration outNodes = bb.getOutNodes();
Enumeration outNodes = bb.getNormalOut();
  static OPT_Diamond buildDiamond(OPT_BasicBlock bb) {    if (bb.getNumberOfNormalOut() != 2) return null;    // Identify the two out nodes from bb.    Enumeration outNodes = bb.getOutNodes();    OPT_BasicBlock out1 = (OPT_BasicBlock)outNodes.nextElement();    OPT_BasicBlock out2 = (OPT_BasicBlock)outNodes.nextElement();    int out1In = out1.getNumberOfIn();    int out2In = out2.getNumberOfIn();    if (out1In == 1 && out2In ==1) {      // look for the case where the diamond has four non-empty blocks.      if (out1.getNumberOfNormalOut() == 1 &&           out2.getNumberOfNormalOut() == 1) {        OPT_BasicBlock b1 = (OPT_BasicBlock)out1.getOutNodes().nextElement();        OPT_BasicBlock b2 = (OPT_BasicBlock)out2.getOutNodes().nextElement();        if (b1 == b2) {          if (b1.getNumberOfIn() == 2) {            return fourElementDiamond(bb,out1,out2,b1);          }        }      }    } else if (out1In == 1 && out2In == 2) {      // check for a 3-element diamond      if (out1.getNumberOfNormalOut() == 1) {        OPT_BasicBlock b1 = (OPT_BasicBlock)out1.getOutNodes().nextElement();        if (b1 == out2) {          if (b1.getNumberOfIn() == 2) {            return threeElementDiamond(bb,out1,out2);          }        }      }    } else if (out1In == 1 && out2In == 2) {      // check for a 3-element diamond      if (out2.getNumberOfNormalOut() == 1) {        OPT_BasicBlock b2 = (OPT_BasicBlock)out2.getOutNodes().nextElement();        if (b2 == out1) {          if (b2.getNumberOfIn() == 2) {            return threeElementDiamond(bb,out2,out1);          }        }      }    }     // didn't find a diamond    return null;  }