public void visit_dup2(final Instruction inst) {
		// If top two values are both category 1, dup them both.
		// Otherwise, dup the one category 2 value.
		final Set top = atDepth(0);

		final int category = checkCategory(top);

		if (category == 1) {
			final Set top1 = atDepth(1);
			checkCategory(top1, 1);

			// Form 1: Dup top two values

			currStack.add(new HashSet(top1));
			currStack.add(new HashSet(top));

		} else {
			// Form 2: Dup top value

			currStack.add(new HashSet(top));
		}
	}