private boolean breakFollows(Loop loop, boolean needsPop) {

        byte[] code = getCode().getCode();
        int nextPC = getNextPC();

        if (needsPop) {
            int popOp = CodeByteUtils.getbyte(code, nextPC++);
            if (popOp != Const.POP) {
                return false;
            }
        }

        int gotoOp = CodeByteUtils.getbyte(code, nextPC);
        if ((gotoOp == Const.GOTO) || (gotoOp == Const.GOTO_W)) {
            int target = nextPC + CodeByteUtils.getshort(code, nextPC + 1);
            if (target > loop.getLoopFinish()) {
                return true;
            }
        }

        return false;
    }
private boolean breakFollows ( Loop loop , boolean needsPop ) { byte [ ] code = getCode ( ) . getCode ( ) ; int nextPC = getNextPC ( ) ; if ( needsPop ) { int popOp = CodeByteUtils . getbyte ( code , nextPC ++ ) ; if ( popOp != Const . POP ) { return false ; } } int gotoOp = CodeByteUtils . getbyte ( code , nextPC ) ; if ( ( gotoOp == Const . GOTO ) || ( gotoOp == Const . GOTO_W ) ) { int target = nextPC + CodeByteUtils . getshort ( code , nextPC + 1 ) ; if ( target > loop . getLoopFinish ( ) ) { return true ; } } return false ; }
looks to see if the following instruction is a GOTO, preceded by potentially a pop

@param loop
the loop structure we are checking
@param needsPop
whether we expect to see a pop next

@return whether a GOTO is found