@Override
	public Iterator<Bookmark> getBookmarksIterator(Address startAddress, boolean forward) {

		List<PeekableIterator<Bookmark>> list = new ArrayList<>();
		int n = typesArray.getLastNonEmptyIndex();
		for (int i = 0; i <= n; i++) {
			BookmarkTypeDB bmt = (BookmarkTypeDB) typesArray.get(i);
			if (bmt != null && bmt.hasBookmarks()) {
				Iterator<Bookmark> bookmarksIterator =
					getBookmarksIterator(startAddress, bmt, forward);
				list.add(new WrappingPeekableIterator<>(bookmarksIterator));
			}
		}

		return new MultiIterator<>(list, forward);
	}
Get bookmark record (used by Bookmark.refresh() method)
@param id bookmark ID
@return bookmark record
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/bookmark/BookmarkDBManager.java