private List<Integer> computeActiveLayouts(VerticalPixelAddressMap pixmap,
			AddressIndexMap map) {

		if (pixmap == null) {
			return null;
		}

		if (activeLayouts != null && activePixmap == pixmap) {
			return activeLayouts; // use cache
		}

		List<Integer> newLayouts = new ArrayList<>();
		int n = pixmap.getNumLayouts();
		for (int i = 0; i < n; i++) {
			Address addr = pixmap.getLayoutAddress(i);
			if (addr == null) {
				continue;
			}

			Address end = pixmap.getLayoutEndAddress(i);
			if (markers.intersects(addr, end)) {
				newLayouts.add(i);
			}
		}

		activePixmap = pixmap;
		activeLayouts = newLayouts;
		return newLayouts;
	}
Returns the Navigator Icon for this marker set

@return the Navigator Icon for this marker set
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/marker/MarkerSetImpl.java