@Override
	public DBTraceBookmark getBookmark(long id) {
		try (LockHold hold = LockHold.lock(lock.readLock())) {
			DBTraceSpaceKey spaceKey = unpackSpaceKey(id, baseLanguage, threadManager);
			if (spaceKey == null) {
				return null;
			}
			DBTraceBookmarkSpace space = get(spaceKey, false);
			if (space == null) {
				return null;
			}
			long bookmarkKey =
				spaceKey.getAddressSpace().isRegisterSpace() ? unpackRegKey(id) : unpackMemKey(id);
			return space.bookmarkMapSpace.getDataByKey(bookmarkKey);
		}
	}
For non-register space:

{@code
+---12----+----52----+
| SpaceID |    Key   |
+---------+----------+
}

For register space:

{@code
+---12----+----32----+----8----+--12--+
| SpaceID |  Thread  |  Frame  |  Key |
+---------+----------+---------+------+
}
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/bookmark/DBTraceBookmarkManager.java