@Override
	public void additionalMarkup(MarkupSession session) throws IOException {
		// TODO: would be nice if we could override the base structure data type used to markup
		// ourself, and use a specialized itab (as created by the GoInterfaceType).

		GoSlice funSlice = getFunSlice();
		List<Address> funcAddrs = Arrays.stream(funSlice.readUIntList(programContext.getPtrSize()))
				.mapToObj(offset -> programContext.getCodeAddress(offset))
				.toList();
		// this adds references from the elements of the artificial slice.  However, the reference
		// from element[0] of the real "fun" array won't show anything in the UI even though
		// there is a outbound reference there.
		funSlice.markupElementReferences(programContext.getPtrSize(), funcAddrs, session);

		GoSlice extraFunSlice =
			funSlice.getSubSlice(1, funSlice.getLen() - 1, programContext.getPtrSize());
		extraFunSlice.markupArray(getStructureName() + "_extra_itab_functions",
			getStructureNamespace(), (DataType) null, true, session);
	}
Returns list of {@link GoIMethodInfo} instances, that represent the methods implemented by
the specified type / interface.

@return list of {@link GoIMethodInfo} instances
@throws IOException if error reading interface method list
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/rtti/GoItab.java