public void visitFrame(final int type, final int nLocal,
			final Object[] local, final int nStack, final Object[] stack) {
		AttributesImpl attrs = new AttributesImpl();
		switch (type) {
		case Opcodes.F_NEW:
		case Opcodes.F_FULL:
			if (type == Opcodes.F_NEW) {
				attrs.addAttribute("", "type", "type", "", "NEW");
			} else {
				attrs.addAttribute("", "type", "type", "", "FULL");
			}
			addStart("frame", attrs);
			appendFrameTypes(true, nLocal, local);
			appendFrameTypes(false, nStack, stack);
			break;
		case Opcodes.F_APPEND:
			attrs.addAttribute("", "type", "type", "", "APPEND");
			addStart("frame", attrs);
			appendFrameTypes(true, nLocal, local);
			break;
		case Opcodes.F_CHOP:
			attrs.addAttribute("", "type", "type", "", "CHOP");
			attrs.addAttribute("", "count", "count", "",
					Integer.toString(nLocal));
			addStart("frame", attrs);
			break;
		case Opcodes.F_SAME:
			attrs.addAttribute("", "type", "type", "", "SAME");
			addStart("frame", attrs);
			break;
		case Opcodes.F_SAME1:
			attrs.addAttribute("", "type", "type", "", "SAME1");
			addStart("frame", attrs);
			appendFrameTypes(false, 1, stack);
			break;
		}
		addEnd("frame");
	}