public void visitFrame(final int type, final int nLocal,
			final Object[] local, final int nStack, final Object[] stack) {
		if (type != Opcodes.F_NEW) { // uncompressed frame
			throw new IllegalStateException(
					"ClassReader.accept() should be called with EXPAND_FRAMES flag");
		}

		if (mv != null) {
			mv.visitFrame(type, nLocal, local, nStack, stack);
		}

		if (this.locals != null) {
			this.locals.clear();
			this.stack.clear();
		} else {
			this.locals = new ArrayList();
			this.stack = new ArrayList();
		}
		visitFrameTypes(nLocal, local, this.locals);
		visitFrameTypes(nStack, stack, this.stack);
		maxStack = Math.max(maxStack, this.stack.size());
	}