@Override
	public BookmarkType defineType(String type, Icon icon, Color color, int priority) {
		lock.acquire();
		try {
			String validatedType = StringUtils.trim(type);
			if (StringUtils.isBlank(validatedType) || icon == null || color == null) {
				throw new IllegalArgumentException(
					"Invalid bookmark type parameters were specified");
			}

			BookmarkTypeDB bmt = null;
			try {
				bmt = getBookmarkType(validatedType, false);
				bmt.setIcon(icon);
				bmt.setMarkerColor(color);
				bmt.setMarkerPriority(priority);
			}
			catch (IOException e) {
				dbError(e);
			}
			return bmt;
		}
		finally {
			lock.release();
		}
	}
Update stored bookmark and fire program change event for a bookmark which has
had its category or comment changed.  All other fields are immutable.
@param bm bookmark
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/bookmark/BookmarkDBManager.java