Code code = method.getCode();
        if (code == null) {
            return null;
        }
        StackMapTable stackMapTable = getStackMapTable(code);
        if (stackMapTable == null) {
            return null;
        }
        Map<Integer, List<Item>> jumpEntries = new HashMap<Integer, List<Item>>();
        Map<Integer, List<Item>> jumpStackEntries = new HashMap<Integer, List<Item>>();
        List<Item> locals = getInitialLocals(descriptor);
        List<Item> stack = new ArrayList<Item>();
        BitSet jumpEntryLocations = new BitSet();
        if (DEBUG) {
            System.out.println(descriptor);
            System.out.println(locals);
        }
        int pc = 0;
        for(StackMapTableEntry e : stackMapTable.getStackMapTable()) {
            pc += e.getByteCodeOffsetDelta();
            StackFrameType stackFrameType = StackFrameType.get(getFrameType(e));
            switch (stackFrameType) {
            case SAME_FRAME:
                stack.clear();