org_eclipse_ditto_protocol_mappingstrategies_AdaptableToSignalMapperTest_java
net.bytebuddy.jar.asm.ClassReader
private void readCode(MethodVisitor methodVisitor, Context context, int codeOffset) {
        boolean expandFrames;
        int currentOffset = codeOffset;
        byte[] classBuffer = this.classFileBuffer;
        char[] charBuffer = context.charBuffer;
        int maxStack = this.readUnsignedShort(currentOffset);
        int maxLocals = this.readUnsignedShort(currentOffset + 2);
        int codeLength = this.readInt(currentOffset + 4);
        if (codeLength > this.classFileBuffer.length - (currentOffset += 8)) {
            throw new IllegalArgumentException();
        }
        int bytecodeStartOffset = currentOffset;
        int bytecodeEndOffset = currentOffset + codeLength;
        context.currentMethodLabels = new Label[codeLength + 1];
        Label[] labels = context.currentMethodLabels;
        block39: while (currentOffset < bytecodeEndOffset) {
            int bytecodeOffset = currentOffset - bytecodeStartOffset;
            int opcode = classBuffer[currentOffset] & 0xFF;
            switch (opcode) {
                case 0: 
                case 1: 
                case 2: 
                case 3: 
                case 4: 
                case 5: 
                case 6: 
                case 7: 
                case 8: 
                case 9: 
                case 10: 
                case 11: 
                case 12: 
                case 13: 
                case 14: 
                case 15: 
                case 26: 
                case 27: 
                case 28: 
                case 29: 
                case 30: 
                case 31: 
                case 32: 
                case 33: 
                case 34: 
                case 35: 
                case 36: 
                case 37: 
                case 38: 
                case 39: 
                case 40: 
                case 41: 
                case 42: 
                case 43: 
                case 44: 
                case 45: 
                case 46: 
                case 47: 
                case 48: 
                case 49: 
                case 50: 
                case 51: 
                case 52: 
                case 53: 
                case 59: 
                case 60: 
                case 61: 
                case 62: 
                case 63: 
                case 64: 
                case 65: 
                case 66: 
                case 67: 
                case 68: 
                case 69: 
                case 70: 
                case 71: 
                case 72: 
                case 73: 
                case 74: 
                case 75: 
                case 76: 
                case 77: 
                case 78: 
                case 79: 
                case 80: 
                case 81: 
                case 82: 
                case 83: 
                case 84: 
                case 85: 
                case 86: 
                case 87: 
                case 88: 
                case 89: 
                case 90: 
                case 91: 
                case 92: 
                case 93: 
                case 94: 
                case 95: 
                case 96: 
                case 97: 
                case 98: 
                case 99: 
                case 100: 
                case 101: 
                case 102: 
                case 103: 
                case 104: 
                case 105: 
                case 106: 
                case 107: 
                case 108: 
                case 109: 
                case 110: 
                case 111: 
                case 112: 
                case 113: 
                case 114: 
                case 115: 
                case 116: 
                case 117: 
                case 118: 
                case 119: 
                case 120: 
                case 121: 
                case 122: 
                case 123: 
                case 124: 
                case 125: 
                case 126: 
                case 127: 
                case 128: 
                case 129: 
                case 130: 
                case 131: 
                case 133: 
                case 134: 
                case 135: 
                case 136: 
                case 137: 
                case 138: 
                case 139: 
                case 140: 
                case 141: 
                case 142: 
                case 143: 
                case 144: 
                case 145: 
                case 146: 
                case 147: 
                case 148: 
                case 149: 
                case 150: 
                case 151: 
                case 152: 
                case 172: 
                case 173: 
                case 174: 
                case 175: 
                case 176: 
                case 177: 
                case 190: 
                case 191: 
                case 194: 
                case 195: {
                    ++currentOffset;
                    continue block39;
                }
                case 153: 
                case 154: 
                case 155: 
                case 156: 
                case 157: 
                case 158: 
                case 159: 
                case 160: 
                case 161: 
                case 162: 
                case 163: 
                case 164: 
                case 165: 
                case 166: 
                case 167: 
                case 168: 
                case 198: 
                case 199: {
                    this.createLabel(bytecodeOffset + this.readShort(currentOffset + 1), labels);
                    currentOffset += 3;
                    continue block39;
                }
                case 202: 
                case 203: 
                case 204: 
                case 205: 
                case 206: 
                case 207: 
                case 208: 
                case 209: 
                case 210: 
                case 211: 
                case 212: 
                case 213: 
                case 214: 
                case 215: 
                case 216: 
                case 217: 
                case 218: 
                case 219: {
                    this.createLabel(bytecodeOffset + this.readUnsignedShort(currentOffset + 1), labels);
                    currentOffset += 3;
                    continue block39;
                }
                case 200: 
                case 201: 
                case 220: {
                    this.createLabel(bytecodeOffset + this.readInt(currentOffset + 1), labels);
                    currentOffset += 5;
                    continue block39;
                }
                case 196: {
                    switch (classBuffer[currentOffset + 1] & 0xFF) {
                        case 21: 
                        case 22: 
                        case 23: 
                        case 24: 
                        case 25: 
                        case 54: 
                        case 55: 
                        case 56: 
                        case 57: 
                        case 58: 
                        case 169: {
                            currentOffset += 4;
                            continue block39;
                        }
                        case 132: {
                            currentOffset += 6;
                            continue block39;
                        }
                    }
                    throw new IllegalArgumentException();
                }
                case 170: {
                    this.createLabel(bytecodeOffset + this.readInt(currentOffset += 4 - (bytecodeOffset & 3)), labels);
                    int numTableEntries = this.readInt(currentOffset + 8) - this.readInt(currentOffset + 4) + 1;
                    currentOffset += 12;
                    while (numTableEntries-- > 0) {
                        this.createLabel(bytecodeOffset + this.readInt(currentOffset), labels);
                        currentOffset += 4;
                    }
                    continue block39;
                }
                case 171: {
                    this.createLabel(bytecodeOffset + this.readInt(currentOffset += 4 - (bytecodeOffset & 3)), labels);
                    int numSwitchCases = this.readInt(currentOffset + 4);
                    currentOffset += 8;
                    while (numSwitchCases-- > 0) {
                        this.createLabel(bytecodeOffset + this.readInt(currentOffset + 4), labels);
                        currentOffset += 8;
                    }
                    continue block39;
                }
                case 16: 
                case 18: 
                case 21: 
                case 22: 
                case 23: 
                case 24: 
                case 25: 
                case 54: 
                case 55: 
                case 56: 
                case 57: 
                case 58: 
                case 169: 
                case 188: {
                    currentOffset += 2;
                    continue block39;
                }
                case 17: 
                case 19: 
                case 20: 
                case 132: 
                case 178: 
                case 179: 
                case 180: 
                case 181: 
                case 182: 
                case 183: 
                case 184: 
                case 187: 
                case 189: 
                case 192: 
                case 193: {
                    currentOffset += 3;
                    continue block39;
                }
                case 185: 
                case 186: {
                    currentOffset += 5;
                    continue block39;
                }
                case 197: {
                    currentOffset += 4;
                    continue block39;
                }
            }
            throw new IllegalArgumentException();
        }
        int exceptionTableLength = this.readUnsignedShort(currentOffset);
        currentOffset += 2;
        while (exceptionTableLength-- > 0) {
            Label start = this.createLabel(this.readUnsignedShort(currentOffset), labels);
            Label end = this.createLabel(this.readUnsignedShort(currentOffset + 2), labels);
            Label handler = this.createLabel(this.readUnsignedShort(currentOffset + 4), labels);
            String catchType = this.readUTF8(this.cpInfoOffsets[this.readUnsignedShort(currentOffset + 6)], charBuffer);
            currentOffset += 8;
            methodVisitor.visitTryCatchBlock(start, end, handler, catchType);
        }
        int stackMapFrameOffset = 0;
        int stackMapTableEndOffset = 0;
        boolean compressedFrames = true;
        int localVariableTableOffset = 0;
        int localVariableTypeTableOffset = 0;
        int[] visibleTypeAnnotationOffsets = null;
        int[] invisibleTypeAnnotationOffsets = null;
        Attribute attributes = null;
        int attributesCount = this.readUnsignedShort(currentOffset);
        currentOffset += 2;
        while (attributesCount-- > 0) {
            int startPc;
            String attributeName = this.readUTF8(currentOffset, charBuffer);
            int attributeLength = this.readInt(currentOffset + 2);
            currentOffset += 6;
            if ("LocalVariableTable".equals(attributeName)) {
                if ((context.parsingOptions & 2) == 0) {
                    localVariableTableOffset = currentOffset;
                    int currentLocalVariableTableOffset = currentOffset;
                    int localVariableTableLength = this.readUnsignedShort(currentLocalVariableTableOffset);
                    currentLocalVariableTableOffset += 2;
                    while (localVariableTableLength-- > 0) {
                        startPc = this.readUnsignedShort(currentLocalVariableTableOffset);
                        this.createDebugLabel(startPc, labels);
                        int length = this.readUnsignedShort(currentLocalVariableTableOffset + 2);
                        this.createDebugLabel(startPc + length, labels);
                        currentLocalVariableTableOffset += 10;
                    }
                }
            } else if ("LocalVariableTypeTable".equals(attributeName)) {
                localVariableTypeTableOffset = currentOffset;
            } else if ("LineNumberTable".equals(attributeName)) {
                if ((context.parsingOptions & 2) == 0) {
                    int currentLineNumberTableOffset = currentOffset;
                    int lineNumberTableLength = this.readUnsignedShort(currentLineNumberTableOffset);
                    currentLineNumberTableOffset += 2;
                    while (lineNumberTableLength-- > 0) {
                        startPc = this.readUnsignedShort(currentLineNumberTableOffset);
                        int lineNumber = this.readUnsignedShort(currentLineNumberTableOffset + 2);
                        currentLineNumberTableOffset += 4;
                        this.createDebugLabel(startPc, labels);
                        labels[startPc].addLineNumber(lineNumber);
                    }
                }
            } else if ("RuntimeVisibleTypeAnnotations".equals(attributeName)) {
                visibleTypeAnnotationOffsets = this.readTypeAnnotations(methodVisitor, context, currentOffset, true);
            } else if ("RuntimeInvisibleTypeAnnotations".equals(attributeName)) {
                invisibleTypeAnnotationOffsets = this.readTypeAnnotations(methodVisitor, context, currentOffset, false);
            } else if ("StackMapTable".equals(attributeName)) {
                if ((context.parsingOptions & 4) == 0) {
                    stackMapFrameOffset = currentOffset + 2;
                    stackMapTableEndOffset = currentOffset + attributeLength;
                }
            } else if ("StackMap".equals(attributeName)) {
                if ((context.parsingOptions & 4) == 0) {
                    stackMapFrameOffset = currentOffset + 2;
                    stackMapTableEndOffset = currentOffset + attributeLength;
                    compressedFrames = false;
                }
            } else {
                Attribute attribute = this.readAttribute(context.attributePrototypes, attributeName, currentOffset, attributeLength, charBuffer, codeOffset, labels);
                attribute.nextAttribute = attributes;
                attributes = attribute;
            }
            currentOffset += attributeLength;
        }
        boolean bl = expandFrames = (context.parsingOptions & 8) != 0;
        if (stackMapFrameOffset != 0) {
            context.currentFrameOffset = -1;
            context.currentFrameType = 0;
            context.currentFrameLocalCount = 0;
            context.currentFrameLocalCountDelta = 0;
            context.currentFrameLocalTypes = new Object[maxLocals];
            context.currentFrameStackCount = 0;
            context.currentFrameStackTypes = new Object[maxStack];
            if (expandFrames) {
                this.computeImplicitFrame(context);
            }
            for (int offset = stackMapFrameOffset; offset < stackMapTableEndOffset - 2; ++offset) {
                int potentialBytecodeOffset;
                if (classBuffer[offset] != 8 || (potentialBytecodeOffset = this.readUnsignedShort(offset + 1)) < 0 || potentialBytecodeOffset >= codeLength || (classBuffer[bytecodeStartOffset + potentialBytecodeOffset] & 0xFF) != 187) continue;
                this.createLabel(potentialBytecodeOffset, labels);
            }
        }
        if (expandFrames && (context.parsingOptions & 0x100) != 0) {
            methodVisitor.visitFrame(-1, maxLocals, null, 0, null);
        }
        int currentVisibleTypeAnnotationIndex = 0;
        int currentVisibleTypeAnnotationBytecodeOffset = this.getTypeAnnotationBytecodeOffset(visibleTypeAnnotationOffsets, 0);
        int currentInvisibleTypeAnnotationIndex = 0;
        int currentInvisibleTypeAnnotationBytecodeOffset = this.getTypeAnnotationBytecodeOffset(invisibleTypeAnnotationOffsets, 0);
        boolean insertFrame = false;
        int wideJumpOpcodeDelta = (context.parsingOptions & 0x100) == 0 ? 33 : 0;
        currentOffset = bytecodeStartOffset;
        while (currentOffset < bytecodeEndOffset) {
            String annotationDescriptor;
            int currentBytecodeOffset = currentOffset - bytecodeStartOffset;
            Label currentLabel = labels[currentBytecodeOffset];
            if (currentLabel != null) {
                currentLabel.accept(methodVisitor, (context.parsingOptions & 2) == 0);
            }
            while (stackMapFrameOffset != 0 && (context.currentFrameOffset == currentBytecodeOffset || context.currentFrameOffset == -1)) {
                if (context.currentFrameOffset != -1) {
                    if (!compressedFrames || expandFrames) {
                        methodVisitor.visitFrame(-1, context.currentFrameLocalCount, context.currentFrameLocalTypes, context.currentFrameStackCount, context.currentFrameStackTypes);
                    } else {
                        methodVisitor.visitFrame(context.currentFrameType, context.currentFrameLocalCountDelta, context.currentFrameLocalTypes, context.currentFrameStackCount, context.currentFrameStackTypes);
                    }
                    insertFrame = false;
                }
                if (stackMapFrameOffset < stackMapTableEndOffset) {
                    stackMapFrameOffset = this.readStackMapFrame(stackMapFrameOffset, compressedFrames, expandFrames, context);
                    continue;
                }
                stackMapFrameOffset = 0;
            }
            if (insertFrame) {
                if ((context.parsingOptions & 8) != 0) {
                    methodVisitor.visitFrame(256, 0, null, 0, null);
                }
                insertFrame = false;
            }
            int opcode = classBuffer[currentOffset] & 0xFF;
            switch (opcode) {
                case 0: 
                case 1: 
                case 2: 
                case 3: 
                case 4: 
                case 5: 
                case 6: 
                case 7: 
                case 8: 
                case 9: 
                case 10: 
                case 11: 
                case 12: 
                case 13: 
                case 14: 
                case 15: 
                case 46: 
                case 47: 
                case 48: 
                case 49: 
                case 50: 
                case 51: 
                case 52: 
                case 53: 
                case 79: 
                case 80: 
                case 81: 
                case 82: 
                case 83: 
                case 84: 
                case 85: 
                case 86: 
                case 87: 
                case 88: 
                case 89: 
                case 90: 
                case 91: 
                case 92: 
                case 93: 
                case 94: 
                case 95: 
                case 96: 
                case 97: 
                case 98: 
                case 99: 
                case 100: 
                case 101: 
                case 102: 
                case 103: 
                case 104: 
                case 105: 
                case 106: 
                case 107: 
                case 108: 
                case 109: 
                case 110: 
                case 111: 
                case 112: 
                case 113: 
                case 114: 
                case 115: 
                case 116: 
                case 117: 
                case 118: 
                case 119: 
                case 120: 
                case 121: 
                case 122: 
                case 123: 
                case 124: 
                case 125: 
                case 126: 
                case 127: 
                case 128: 
                case 129: 
                case 130: 
                case 131: 
                case 133: 
                case 134: 
                case 135: 
                case 136: 
                case 137: 
                case 138: 
                case 139: 
                case 140: 
                case 141: 
                case 142: 
                case 143: 
                case 144: 
                case 145: 
                case 146: 
                case 147: 
                case 148: 
                case 149: 
                case 150: 
                case 151: 
                case 152: 
                case 172: 
                case 173: 
                case 174: 
                case 175: 
                case 176: 
                case 177: 
                case 190: 
                case 191: 
                case 194: 
                case 195: {
                    methodVisitor.visitInsn(opcode);
                    ++currentOffset;
                    break;
                }
                case 26: 
                case 27: 
                case 28: 
                case 29: 
                case 30: 
                case 31: 
                case 32: 
                case 33: 
                case 34: 
                case 35: 
                case 36: 
                case 37: 
                case 38: 
                case 39: 
                case 40: 
                case 41: 
                case 42: 
                case 43: 
                case 44: 
                case 45: {
                    methodVisitor.visitVarInsn(21 + ((opcode -= 26) >> 2), opcode & 3);
                    ++currentOffset;
                    break;
                }
                case 59: 
                case 60: 
                case 61: 
                case 62: 
                case 63: 
                case 64: 
                case 65: 
                case 66: 
                case 67: 
                case 68: 
                case 69: 
                case 70: 
                case 71: 
                case 72: 
                case 73: 
                case 74: 
                case 75: 
                case 76: 
                case 77: 
                case 78: {
                    methodVisitor.visitVarInsn(54 + ((opcode -= 59) >> 2), opcode & 3);
                    ++currentOffset;
                    break;
                }
                case 153: 
                case 154: 
                case 155: 
                case 156: 
                case 157: 
                case 158: 
                case 159: 
                case 160: 
                case 161: 
                case 162: 
                case 163: 
                case 164: 
                case 165: 
                case 166: 
                case 167: 
                case 168: 
                case 198: 
                case 199: {
                    methodVisitor.visitJumpInsn(opcode, labels[currentBytecodeOffset + this.readShort(currentOffset + 1)]);
                    currentOffset += 3;
                    break;
                }
                case 200: 
                case 201: {
                    methodVisitor.visitJumpInsn(opcode - wideJumpOpcodeDelta, labels[currentBytecodeOffset + this.readInt(currentOffset + 1)]);
                    currentOffset += 5;
                    break;
                }
                case 202: 
                case 203: 
                case 204: 
                case 205: 
                case 206: 
                case 207: 
                case 208: 
                case 209: 
                case 210: 
                case 211: 
                case 212: 
                case 213: 
                case 214: 
                case 215: 
                case 216: 
                case 217: 
                case 218: 
                case 219: {
                    opcode = opcode < 218 ? opcode - 49 : opcode - 20;
                    Label target = labels[currentBytecodeOffset + this.readUnsignedShort(currentOffset + 1)];
                    if (opcode == 167 || opcode == 168) {
                        methodVisitor.visitJumpInsn(opcode + 33, target);
                    } else {
                        opcode = opcode < 167 ? (opcode + 1 ^ 1) - 1 : opcode ^ 1;
                        Label endif = this.createLabel(currentBytecodeOffset + 3, labels);
                        methodVisitor.visitJumpInsn(opcode, endif);
                        methodVisitor.visitJumpInsn(200, target);
                        insertFrame = true;
                    }
                    currentOffset += 3;
                    break;
                }
                case 220: {
                    methodVisitor.visitJumpInsn(200, labels[currentBytecodeOffset + this.readInt(currentOffset + 1)]);
                    insertFrame = true;
                    currentOffset += 5;
                    break;
                }
                case 196: {
                    opcode = classBuffer[currentOffset + 1] & 0xFF;
                    if (opcode == 132) {
                        methodVisitor.visitIincInsn(this.readUnsignedShort(currentOffset + 2), this.readShort(currentOffset + 4));
                        currentOffset += 6;
                        break;
                    }
                    methodVisitor.visitVarInsn(opcode, this.readUnsignedShort(currentOffset + 2));
                    currentOffset += 4;
                    break;
                }
                case 170: {
                    Label defaultLabel = labels[currentBytecodeOffset + this.readInt(currentOffset += 4 - (currentBytecodeOffset & 3))];
                    int low = this.readInt(currentOffset + 4);
                    int high = this.readInt(currentOffset + 8);
                    currentOffset += 12;
                    Label[] table = new Label[high - low + 1];
                    for (int i = 0; i < table.length; ++i) {
                        table[i] = labels[currentBytecodeOffset + this.readInt(currentOffset)];
                        currentOffset += 4;
                    }
                    methodVisitor.visitTableSwitchInsn(low, high, defaultLabel, table);
                    break;
                }
                case 171: {
                    Label defaultLabel = labels[currentBytecodeOffset + this.readInt(currentOffset += 4 - (currentBytecodeOffset & 3))];
                    int numPairs = this.readInt(currentOffset + 4);
                    currentOffset += 8;
                    int[] keys = new int[numPairs];
                    Label[] values = new Label[numPairs];
                    for (int i = 0; i < numPairs; ++i) {
                        keys[i] = this.readInt(currentOffset);
                        values[i] = labels[currentBytecodeOffset + this.readInt(currentOffset + 4)];
                        currentOffset += 8;
                    }
                    methodVisitor.visitLookupSwitchInsn(defaultLabel, keys, values);
                    break;
                }
                case 21: 
                case 22: 
                case 23: 
                case 24: 
                case 25: 
                case 54: 
                case 55: 
                case 56: 
                case 57: 
                case 58: 
                case 169: {
                    methodVisitor.visitVarInsn(opcode, classBuffer[currentOffset + 1] & 0xFF);
                    currentOffset += 2;
                    break;
                }
                case 16: 
                case 188: {
                    methodVisitor.visitIntInsn(opcode, classBuffer[currentOffset + 1]);
                    currentOffset += 2;
                    break;
                }
                case 17: {
                    methodVisitor.visitIntInsn(opcode, this.readShort(currentOffset + 1));
                    currentOffset += 3;
                    break;
                }
                case 18: {
                    methodVisitor.visitLdcInsn(this.readConst(classBuffer[currentOffset + 1] & 0xFF, charBuffer));
                    currentOffset += 2;
                    break;
                }
                case 19: 
                case 20: {
                    methodVisitor.visitLdcInsn(this.readConst(this.readUnsignedShort(currentOffset + 1), charBuffer));
                    currentOffset += 3;
                    break;
                }
                case 178: 
                case 179: 
                case 180: 
                case 181: 
                case 182: 
                case 183: 
                case 184: 
                case 185: {
                    int cpInfoOffset = this.cpInfoOffsets[this.readUnsignedShort(currentOffset + 1)];
                    int nameAndTypeCpInfoOffset = this.cpInfoOffsets[this.readUnsignedShort(cpInfoOffset + 2)];
                    String owner = this.readClass(cpInfoOffset, charBuffer);
                    String name = this.readUTF8(nameAndTypeCpInfoOffset, charBuffer);
                    String descriptor = this.readUTF8(nameAndTypeCpInfoOffset + 2, charBuffer);
                    if (opcode < 182) {
                        methodVisitor.visitFieldInsn(opcode, owner, name, descriptor);
                    } else {
                        boolean isInterface = classBuffer[cpInfoOffset - 1] == 11;
                        methodVisitor.visitMethodInsn(opcode, owner, name, descriptor, isInterface);
                    }
                    if (opcode == 185) {
                        currentOffset += 5;
                        break;
                    }
                    currentOffset += 3;
                    break;
                }
                case 186: {
                    int cpInfoOffset = this.cpInfoOffsets[this.readUnsignedShort(currentOffset + 1)];
                    int nameAndTypeCpInfoOffset = this.cpInfoOffsets[this.readUnsignedShort(cpInfoOffset + 2)];
                    String name = this.readUTF8(nameAndTypeCpInfoOffset, charBuffer);
                    String descriptor = this.readUTF8(nameAndTypeCpInfoOffset + 2, charBuffer);
                    int bootstrapMethodOffset = this.bootstrapMethodOffsets[this.readUnsignedShort(cpInfoOffset)];
                    Handle handle = (Handle)this.readConst(this.readUnsignedShort(bootstrapMethodOffset), charBuffer);
                    Object[] bootstrapMethodArguments = new Object[this.readUnsignedShort(bootstrapMethodOffset + 2)];
                    bootstrapMethodOffset += 4;
                    for (int i = 0; i < bootstrapMethodArguments.length; ++i) {
                        bootstrapMethodArguments[i] = this.readConst(this.readUnsignedShort(bootstrapMethodOffset), charBuffer);
                        bootstrapMethodOffset += 2;
                    }
                    methodVisitor.visitInvokeDynamicInsn(name, descriptor, handle, bootstrapMethodArguments);
                    currentOffset += 5;
                    break;
                }
                case 187: 
                case 189: 
                case 192: 
                case 193: {
                    methodVisitor.visitTypeInsn(opcode, this.readClass(currentOffset + 1, charBuffer));
                    currentOffset += 3;
                    break;
                }
                case 132: {
                    methodVisitor.visitIincInsn(classBuffer[currentOffset + 1] & 0xFF, classBuffer[currentOffset + 2]);
                    currentOffset += 3;
                    break;
                }
                case 197: {
                    methodVisitor.visitMultiANewArrayInsn(this.readClass(currentOffset + 1, charBuffer), classBuffer[currentOffset + 3] & 0xFF);
                    currentOffset += 4;
                    break;
                }
                default: {
                    throw new AssertionError();
                }
            }
            while (visibleTypeAnnotationOffsets != null && currentVisibleTypeAnnotationIndex < visibleTypeAnnotationOffsets.length && currentVisibleTypeAnnotationBytecodeOffset <= currentBytecodeOffset) {
                if (currentVisibleTypeAnnotationBytecodeOffset == currentBytecodeOffset) {
                    int currentAnnotationOffset = this.readTypeAnnotationTarget(context, visibleTypeAnnotationOffsets[currentVisibleTypeAnnotationIndex]);
                    annotationDescriptor = this.readUTF8(currentAnnotationOffset, charBuffer);
                    this.readElementValues(methodVisitor.visitInsnAnnotation(context.currentTypeAnnotationTarget, context.currentTypeAnnotationTargetPath, annotationDescriptor, true), currentAnnotationOffset += 2, true, charBuffer);
                }
                currentVisibleTypeAnnotationBytecodeOffset = this.getTypeAnnotationBytecodeOffset(visibleTypeAnnotationOffsets, ++currentVisibleTypeAnnotationIndex);
            }
            while (invisibleTypeAnnotationOffsets != null && currentInvisibleTypeAnnotationIndex < invisibleTypeAnnotationOffsets.length && currentInvisibleTypeAnnotationBytecodeOffset <= currentBytecodeOffset) {
                if (currentInvisibleTypeAnnotationBytecodeOffset == currentBytecodeOffset) {
                    int currentAnnotationOffset = this.readTypeAnnotationTarget(context, invisibleTypeAnnotationOffsets[currentInvisibleTypeAnnotationIndex]);
                    annotationDescriptor = this.readUTF8(currentAnnotationOffset, charBuffer);
                    this.readElementValues(methodVisitor.visitInsnAnnotation(context.currentTypeAnnotationTarget, context.currentTypeAnnotationTargetPath, annotationDescriptor, false), currentAnnotationOffset += 2, true, charBuffer);
                }
                currentInvisibleTypeAnnotationBytecodeOffset = this.getTypeAnnotationBytecodeOffset(invisibleTypeAnnotationOffsets, ++currentInvisibleTypeAnnotationIndex);
            }
        }
        if (labels[codeLength] != null) {
            methodVisitor.visitLabel(labels[codeLength]);
        }
        if (localVariableTableOffset != 0 && (context.parsingOptions & 2) == 0) {
            int[] typeTable = null;
            if (localVariableTypeTableOffset != 0) {
                typeTable = new int[this.readUnsignedShort(localVariableTypeTableOffset) * 3];
                currentOffset = localVariableTypeTableOffset + 2;
                int typeTableIndex = typeTable.length;
                while (typeTableIndex > 0) {
                    typeTable[--typeTableIndex] = currentOffset + 6;
                    typeTable[--typeTableIndex] = this.readUnsignedShort(currentOffset + 8);
                    typeTable[--typeTableIndex] = this.readUnsignedShort(currentOffset);
                    currentOffset += 10;
                }
            }
            int localVariableTableLength = this.readUnsignedShort(localVariableTableOffset);
            currentOffset = localVariableTableOffset + 2;
            while (localVariableTableLength-- > 0) {
                int startPc = this.readUnsignedShort(currentOffset);
                int length = this.readUnsignedShort(currentOffset + 2);
                String name = this.readUTF8(currentOffset + 4, charBuffer);
                String descriptor = this.readUTF8(currentOffset + 6, charBuffer);
                int index = this.readUnsignedShort(currentOffset + 8);
                currentOffset += 10;
                String signature = null;
                if (typeTable != null) {
                    for (int i = 0; i < typeTable.length; i += 3) {
                        if (typeTable[i] != startPc || typeTable[i + 1] != index) continue;
                        signature = this.readUTF8(typeTable[i + 2], charBuffer);
                        break;
                    }
                }
                methodVisitor.visitLocalVariable(name, descriptor, signature, labels[startPc], labels[startPc + length], index);
            }
        }
        if (visibleTypeAnnotationOffsets != null) {
            int[] typeTable = visibleTypeAnnotationOffsets;
            int n = typeTable.length;
            for (int i = 0; i < n; ++i) {
                int typeAnnotationOffset = typeTable[i];
                int targetType = this.readByte(typeAnnotationOffset);
                if (targetType != 64 && targetType != 65) continue;
                currentOffset = this.readTypeAnnotationTarget(context, typeAnnotationOffset);
                String annotationDescriptor = this.readUTF8(currentOffset, charBuffer);
                this.readElementValues(methodVisitor.visitLocalVariableAnnotation(context.currentTypeAnnotationTarget, context.currentTypeAnnotationTargetPath, context.currentLocalVariableAnnotationRangeStarts, context.currentLocalVariableAnnotationRangeEnds, context.currentLocalVariableAnnotationRangeIndices, annotationDescriptor, true), currentOffset += 2, true, charBuffer);
            }
        }
        if (invisibleTypeAnnotationOffsets != null) {
            for (int typeAnnotationOffset : invisibleTypeAnnotationOffsets) {
                int targetType = this.readByte(typeAnnotationOffset);
                if (targetType != 64 && targetType != 65) continue;
                currentOffset = this.readTypeAnnotationTarget(context, typeAnnotationOffset);
                String annotationDescriptor = this.readUTF8(currentOffset, charBuffer);
                this.readElementValues(methodVisitor.visitLocalVariableAnnotation(context.currentTypeAnnotationTarget, context.currentTypeAnnotationTargetPath, context.currentLocalVariableAnnotationRangeStarts, context.currentLocalVariableAnnotationRangeEnds, context.currentLocalVariableAnnotationRangeIndices, annotationDescriptor, false), currentOffset += 2, true, charBuffer);
            }
        }
        while (attributes != null) {
            Attribute nextAttribute = attributes.nextAttribute;
            attributes.nextAttribute = null;
            methodVisitor.visitAttribute(attributes);
            attributes = nextAttribute;
        }
        methodVisitor.visitMaxs(maxStack, maxLocals);
    }
 -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.lang.Math.max(int,int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.SortedMap.values(): java.util.Collection -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getModifiers(): int -> java.lang.Math.max(int,int): int -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.lang.Math.max(int,int): int -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.SortedMap.values(): java.util.Collection -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getModifiers(): int -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.SortedMap.values(): java.util.Collection -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getModifiers(): int -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.SortedMap.values(): java.util.Collection -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getModifiers(): int -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.lang.Math.max(int,int): int -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isPrimitive(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.replace(char,char): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Math.max(int,int): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.subList(int,int): java.util.List -> java.util.AbstractList.subList(int,int): java.util.List -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.isArray(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.lang.Class.isPrimitive(): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.next(): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.lang.Class.isPrimitive(): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.reflect.Method.getModifiers(): int -> java.lang.reflect.Method.getModifiers(): int -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getModifiers(): int -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Integer.signum(int): int -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Math.max(int,int): int -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Math.max(int,int): int -> java.lang.Integer.signum(int): int -> java.lang.Class.isPrimitive(): boolean -> java.lang.Class.isArray(): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.Class.isArray(): boolean -> java.lang.Class.isPrimitive(): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Class.getName(): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.Math.max(int,int): int -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Math.max(int,int): int -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.Math.max(int,int): int -> java.lang.Integer.signum(int): int -> java.lang.Class.isPrimitive(): boolean -> java.lang.Class.isArray(): boolean -> java.lang.Class.getModifiers(): int -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.Class.isArray(): boolean -> java.lang.Class.isPrimitive(): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Class.getName(): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.lang.Math.max(int,int): int -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.replace(char,char): java.lang.String -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.lang.Class.isArray(): boolean -> java.lang.Class.isPrimitive(): boolean -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.Class.getName(): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.S
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.hashCode(): int [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.subList(int,int): java.util.List [CALL] [CALL] -> java.util.AbstractList.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.subList(int,int): java.util.List [CALL] [CALL] -> java.util.AbstractList.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.reflect.Method.getReturnType(): java.lang.Class [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.SortedMap.values(): java.util.Collection [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.reflect.Method.getModifiers(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.subList(int,int): java.util.List [CALL] [CALL] -> java.util.AbstractList.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.subList(int,int): java.util.List [CALL] [CALL] -> java.util.AbstractList.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.reflect.Method.getReturnType(): java.lang.Class [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.SortedMap.values(): java.util.Collection [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.reflect.Method.getModifiers(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.subList(int,int): java.util.List [CALL] [CALL] -> java.util.AbstractList.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.subList(int,int): java.util.List [CALL] [CALL] -> java.util.AbstractList.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.reflect.Method.getReturnType(): java.lang.Class [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.SortedMap.values(): java.util.Collection [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.reflect.Method.getModifiers(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Math.max(int,int): int [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int,int): int -> java.lang.Math.max(int,int): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int -> java.util.List.add(int,java.lang.Object): void [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int -> java.lang.String.hashCode(): int [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [CALL] -> java.util.List.isEmpty(): boolean -> java.util.List.size(): int -> java.util.List.remove(int): java.lang.Object [EXIT] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.subList(int,int): java.util.List [CALL] [CALL] -> java.util.AbstractList.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.subList(int,int): java.util.List [CALL] [CALL] -> java.util.AbstractList.subList(int,int): java.util.List [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.reflect.Method.getReturnType(): java.lang.Class [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.SortedMap.values(): java.util.Collection [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.u