try { ByteSequence sequence = new ByteSequence(code); int pos = 0; while (sequence.available() > 0 && ((pos = sequence.getIndex()) < start)) { Instruction ins = Instruction.readInstruction(sequence); }  while (sequence.available() > 0 && ((pos = sequence.getIndex()) < end)) { Instruction ins = Instruction.readInstruction(sequence); if ((ins instanceof BranchInstruction) &&  !(ins instanceof TABLESWITCH) &&  !(ins instanceof LOOKUPSWITCH)) { BranchInstruction bi = (BranchInstruction)ins; int offset = bi.getIndex(); if ((offset + pos) >= end) { bytes[pos+bi.getLength()-1 - start] = 0; } } } } catch (IOException ioe) { }
	private byte[] getCodeBytes(Method m, int start, int end) {		byte[] code = m.getCode().getCode();		byte[] bytes = new byte[end-start];		System.arraycopy( code, start, bytes, 0, end - start);		return bytes;	}