int[] wideByteCodeArray = new int[wideByteCodes.size()];
for(int index=0; index < wideByteCodeArray.length; index++) {
wideByteCodeArray[index] = ((Integer)wideByteCodes.get(index)).intValue();
}
OperandManager operandManager = new OperandManager(bcCaseCount, bcCaseValue,
bcByte, bcShort, bcLocal, bcLabel, bcIntRef, bcFloatRef, bcLongRef,
bcDoubleRef, bcStringRef, bcClassRef, bcFieldRef, bcMethodRef,
bcIMethodRef, bcThisField, bcSuperField, bcThisMethod, bcSuperMethod,
bcInitRef, wideByteCodeArray);
operandManager.setSegment(segment);
int i = 0;
ArrayList orderedCodeAttributes = segment.getClassBands().getOrderedCodeAttributes();
// Exception table fields
int[] handlerCount = segment.getClassBands().getCodeHandlerCount();
int[][] handlerStartPCs = segment.getClassBands().getCodeHandlerStartP();
int[][] handlerEndPCs = segment.getClassBands().getCodeHandlerEndPO();
int[][] handlerCatchPCs = segment.getClassBands().getCodeHandlerCatchPO();
String[][] handlerClassTypes = segment.getClassBands().getCodeHandlerClassRCN();
for (int c = 0; c < classCount; c++) {
int numberOfMethods = methodFlags[c].length;
for (int m = 0; m < numberOfMethods; m++) {
long methodFlag = methodFlags[c][m];
if (!abstractModifier.matches(methodFlag)
&& !nativeModifier.matches(methodFlag)) {
int maxStack = codeMaxStack[i];
int maxLocal = codeMaxNALocals[i];
if (!staticModifier.matches(methodFlag))
maxLocal++; // one for 'this' parameter
maxLocal += SegmentUtils.countArgs(methodDescr[c][m]);
operandManager.setCurrentClass(segment.getClassBands()
.getClassThis()[c]);
operandManager.setSuperClass(segment.getClassBands()
.getClassSuper()[c]);
List exceptionTable = new ArrayList();
if(handlerCount != null) {
for (int j = 0; j < handlerCount[i]; j++) {
String handlerClass = handlerClassTypes[i][j];