public String getDescription() {
		StringBuffer result = new StringBuffer(String.valueOf(addr))
				.append('_').append(Integer.toHexString(hashCode()))
				.append(": ").append(opcodeString[opcode]);
		if (opcode != opc_lookupswitch) {
			if (hasLocalSlot())
				result.append(' ').append(getLocalSlot());
			if (succs != null)
				result.append(' ').append(((Instruction) succs).addr);
			if (objData != null)
				result.append(' ').append(objData);
			if (opcode == opc_multianewarray)
				result.append(' ').append(getDimensions());
		} else {
			int[] values = getValues();
			Instruction[] succs = getSuccs();
			for (int i = 0; i < values.length; i++) {
				result.append(' ').append(values[i]).append("->")
						.append(((Instruction) succs[i]).addr);
			}
			result.append(' ').append("default: ")
					.append(((Instruction) succs[values.length]).addr);
		}
		return result.toString();
	}