@Override
			public void apply(Program prog, Address addr, Match match) {

				Function functionContainingVftable = prog.getListing().getFunctionContaining(addr);

				Data dataAt = prog.getListing().getDefinedDataContaining(addr);

				Instruction instructionContainingAddr =
					prog.getListing().getInstructionContaining(addr);

				// check the direct references found with the searcher
				// if not in function but is an instruction then create the function
				// otherwise, add to the list to report to user
				if (functionContainingVftable == null && dataAt == null) {
					if (instructionContainingAddr == null) {
						notInFunctionVftableRefs.add(addr);
					}
					else {
						boolean functionCreated = extendedFlatAPI.createFunction(prog, addr);
						if (!functionCreated) {
							notInFunctionVftableRefs.add(addr);
						}

					}
				}
			}
Method to add a search pattern, to the searcher, for the set of bytes representing a vftable
address
@param searcher the MemoryBytePatternSearcher
@param notInFunctionVftableRefs a list addresses of vftable references that are not contained
in a function
@param newFunctions a list of newly created functions that reference the given vftable address
@param vftableAddress the given vftable address
@param bytes the bytes to search for
@param taskMonitor a cancellable monitor
Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RecoveredClassHelper.java