static void checkFrameValue(final Object value) {
		if (value == Opcodes.TOP || value == Opcodes.INTEGER
				|| value == Opcodes.FLOAT || value == Opcodes.LONG
				|| value == Opcodes.DOUBLE || value == Opcodes.NULL
				|| value == Opcodes.UNINITIALIZED_THIS) {
			return;
		}
		if (value instanceof String) {
			checkInternalName((String) value, "Invalid stack frame value");
			return;
		}
		if (!(value instanceof Label)) {
			throw new IllegalArgumentException("Invalid stack frame value: "
					+ value);
		}
	}