public void visitIntInsn(final int opcode, final int operand) {
		checkStartCode();
		checkEndCode();
		checkOpcode(opcode, 1);
		switch (opcode) {
		case Opcodes.BIPUSH:
			checkSignedByte(operand, "Invalid operand");
			break;
		case Opcodes.SIPUSH:
			checkSignedShort(operand, "Invalid operand");
			break;
		// case Constants.NEWARRAY:
		default:
			if (operand < Opcodes.T_BOOLEAN || operand > Opcodes.T_LONG) {
				throw new IllegalArgumentException(
						"Invalid operand (must be an array type code T_...): "
								+ operand);
			}
		}
		mv.visitIntInsn(opcode, operand);
	}