static TableEntry getTableEntry(Program program, Varnode v) {
		if (!(v instanceof VarnodeOperation)) {
			return null;
		}
		VarnodeOperation op = (VarnodeOperation) v;
		int opcode = op.getPCodeOp().getOpcode();
		boolean signExtend = false;
		if (opcode == PcodeOp.INT_SEXT || opcode == PcodeOp.INT_ZEXT) {
			v = op.getInputValues()[0];
			signExtend = (opcode == PcodeOp.INT_SEXT);
			if (!(v instanceof VarnodeOperation)) {
				return null;
			}
			op = (VarnodeOperation) v;
			opcode = op.getPCodeOp().getOpcode();
		}
		if (opcode != PcodeOp.LOAD) {
			return null;
		}
		Varnode[] inputValues = op.getInputValues();
		if (!inputValues[0].isConstant()) {
			return null;
		}
		AddressFactory addrFactory = program.getAddressFactory();
		if (addrFactory.getDefaultAddressSpace().getSpaceID() != inputValues[0].getOffset()) {
			// TableEntryAddress class assumes default address space for tables
			return null;
		}
		TableEntryAddress tableEntryAddress =
			TableEntryAddress.getTableEntryAddress(addrFactory, inputValues[1]);
		if (tableEntryAddress == null) {
			return null;
		}
		return new TableEntry(program, tableEntryAddress, op.getSize(), signExtend);
	}
Qualify TableEntry as LOAD(table-entry-address)
and return TableEntry if qualified or null if not.
@param program
@param v potential input value which corresponds to a switch table entry
@return TableEntry object or null if v failed qualification
Ghidra/Features/Base/src/main/java/ghidra/util/state/analysis/TableEntry.java