private void removeBookmarks(AddressSetView set, BookmarkTypeDB bmt, String category,
			TaskMonitor monitor) throws CancelledException {
		int typeId = bmt.getTypeId();
		try {
			Table table = bookmarkAdapter.getTable(typeId);
			if (table != null) {
				DBFieldIterator it = new AddressIndexPrimaryKeyIterator(table,
					BookmarkDBAdapter.ADDRESS_COL, addrMap, set, true);
				while (it.hasNext()) {
					BookmarkDB bm = (BookmarkDB) getBookmark(it.next().getLongValue());
					if (category == null || category.equals(bm.getCategory())) {
						doRemoveBookmark(bm);
					}
					monitor.checkCancelled();
				}
				if (bookmarkAdapter.getBookmarkCount(typeId) == 0) {
					removeBookmarks(bmt.getTypeString());
				}

			}
		}
		catch (IOException e) {
			dbError(e);
		}
	}
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