@Override
	public Address[] getFlows(InstructionContext context) {

		if (flowStateList.size() == 0) {
			return emptyFlow;
		}

		ArrayList<Address> addresses = new ArrayList<>();
		try {
			gatherFlows(addresses, (SleighParserContext) context.getParserContext(), context, -1);
		}
		catch (MemoryAccessException e) {
			return emptyFlow;
		}
		catch (UnknownContextException e) {
			return emptyFlow;
		}

		if (addresses.size() == 0) {
			return emptyFlow;
		}
		return addresses.toArray(new Address[addresses.size()]);
	}
Gather all the flow records (perhaps across multiple InstructionPrototypes via crossbuilds)
and convert to Addresses

@param res is the resulting flow Addresses
@param parsecontext is the parsing context for the current instruction
@param context is the context for the particular address so crossbuilds can be resolved
@throws MemoryAccessException if a memory error occurred while resolving instruction details
@throws UnknownContextException if the gather encounters an instruction not previously parsed
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/processors/sleigh/SleighInstructionPrototype.java