public void visitLocalVariable(final String name, final String desc,
			final String signature, final Label start, final Label end,
			final int index) {
		if (signature != null) {
			if (localVarType == null) {
				localVarType = new ByteVector();
			}
			++localVarTypeCount;
			localVarType.putShort(start.position)
					.putShort(end.position - start.position)
					.putShort(cw.newUTF8(name)).putShort(cw.newUTF8(signature))
					.putShort(index);
		}
		if (localVar == null) {
			localVar = new ByteVector();
		}
		++localVarCount;
		localVar.putShort(start.position)
				.putShort(end.position - start.position)
				.putShort(cw.newUTF8(name)).putShort(cw.newUTF8(desc))
				.putShort(index);
		if (compute != NOTHING) {
			// updates max locals
			char c = desc.charAt(0);
			int n = index + (c == 'J' || c == 'D' ? 2 : 1);
			if (n > maxLocals) {
				maxLocals = n;
			}
		}
	}