@Override
		public boolean versionCreated(VersionedDatabase database, int version, long time,
				String comment, long dbCheckinId) {
			synchronized (fileSystem) {
				try {
					ItemCheckoutStatus coStatus = checkoutMgr.getCheckout(dbCheckinId);
					if (coStatus == null || LocalDatabaseItem.this.checkinId != dbCheckinId) {
						log("ERROR! version " + version + " created without valid checkin", null);
						return false;
					}
					if (version == 1 && versionedDb == null) {
						versionedDb = database;
						versionedDb.setSynchronizationObject(fileSystem);
					}
					String user = coStatus.getUser();
					historyMgr.versionAdded(version, time, comment, user);
					checkoutMgr.updateCheckout(dbCheckinId, version);
				}
				catch (IOException e) {
					Msg.error(getName() + " versioning error", e);
				}
			}
			if (version == 1) {
				fireItemCreated();
			}
			else {
				fireItemChanged();
			}
			return true;
		}
<code>LocalVersionedDbListener</code> provides a listener 
which maintains checkout and history data in response to 
VersionedDatabase callbacks.
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/LocalDatabaseItem.java