private static void edgeSplitSuccessors(SsaMethod result) {
    ArrayList<SsaBasicBlock> blocks = result.getBlocks();

    /*
     * New blocks are added to the end of the block list during
     * this iteration.
     */
    for (int i = blocks.size() - 1; i >= 0; i--) {
      SsaBasicBlock block = blocks.get(i);

      // Successors list is modified in loop below.
      BitSet successors = (BitSet) block.getSuccessors().clone();
      for (int j = successors.nextSetBit(0); j >= 0; j = successors.nextSetBit(j + 1)) {

        SsaBasicBlock succ = blocks.get(j);

        if (needsNewSuccessor(block, succ)) {
          block.insertNewSuccessor(succ);
        }
      }
    }
  }
Inserts Z nodes for every node that needs a new successor.

@param result {@code non-null;} method to process
android/android_framework/dex-maker/src/main/java/com/android/dx/ssa/SsaConverter.java