public void visitLocalVariable(final String name, final String desc,
			final String signature, final Label start, final Label end,
			final int index) {
		checkStartCode();
		checkEndCode();
		checkUnqualifiedName(version, name, "name");
		checkDesc(desc, false);
		checkLabel(start, true, "start label");
		checkLabel(end, true, "end label");
		checkUnsignedShort(index, "Invalid variable index");
		int s = ((Integer) labels.get(start)).intValue();
		int e = ((Integer) labels.get(end)).intValue();
		if (e < s) {
			throw new IllegalArgumentException(
					"Invalid start and end labels (end must be greater than start)");
		}
		mv.visitLocalVariable(name, desc, signature, start, end, index);
	}