if (len > 0) hasExceptionHandlers = true;
    private void unpackHandlers(MethodGen gen) {        CodeExceptionGen[] exns = gen.getExceptionHandlers();        if (exns != null) {            int len = exns.length;            int priority = len - 1;            for (int i = 0; i < len; i++, priority--) {                CodeExceptionGen exn = exns[i];				                InstructionHandle start =                     Range.genStart(                        body,                         getOutermostExceptionStart(exn.getStartPC()));                InstructionHandle end = Range.genEnd(body, getOutermostExceptionEnd(exn.getEndPC()));                // this doesn't necessarily handle overlapping correctly!!!                ExceptionRange er =                    new ExceptionRange(                        body,                        exn.getCatchType() == null                        ? null                        : BcelWorld.fromBcel(exn.getCatchType()),                        priority);                er.associateWithTargets(start, end, exn.getHandlerPC());                exn.setStartPC(null); // also removes from target                exn.setEndPC(null); // also removes from target                exn.setHandlerPC(null); // also removes from target            }            gen.removeExceptionHandlers();        }    }