@Override
	public DataType recoverDataType(GoTypeManager goTypes) throws IOException {
		GoType mapGoType = goTypes.getMapGoType();
		if (mapGoType == null) {
			// if we couldn't find the underlying/hidden runtime.hmap struct type, just return
			// a void*
			return goTypes.getVoidPtrDT();
		}
		DataType mapDT = goTypes.getGhidraDataType(mapGoType);
		Pointer ptrMapDt = goTypes.getDTM().getPointer(mapDT);
		if (typ.getSize() != ptrMapDt.getLength()) {
			Msg.warn(this, "Size mismatch between map type and recovered type");
		}
		TypedefDataType typedef =
			new TypedefDataType(goTypes.getCP(this), goTypes.getTypeName(this), ptrMapDt,
				goTypes.getDTM());
		return typedef;
	}
Returns the GoType that defines the map's bucket, referenced by the bucket field's markup annotation

@return GoType that defines the map's bucket
@throws IOException if error reading data
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/rtti/types/GoMapType.java