@Override
	public void updateCheckout(FolderItem item, int checkoutVersion) throws IOException {
		if (fileSystem.isReadOnly()) {
			throw new ReadOnlyException();
		}
		synchronized (fileSystem) {
			long checkoutId = getCheckoutId();
			if (isVersioned || checkoutId == DEFAULT_CHECKOUT_ID) {
				throw new IOException(getName() + " is not checked-out");
			}
			if (!(item instanceof LocalDatabaseItem)) {
				throw new IllegalArgumentException("Expected local database item");
			}
			LocalDatabaseItem dbItem = (LocalDatabaseItem) item;
			if (fileSystem != dbItem.fileSystem) {
				throw new IllegalArgumentException("Items must be from same file system");
			}
			try {
				privateDb.updateCheckoutFrom(dbItem.privateDb);
				setCheckout(checkoutId, isCheckedOutExclusive(), checkoutVersion,
					getLocalCheckoutVersion());
			}
			finally {
				item.delete(-1, null);
			}
		}
	}
@see ghidra.framework.store.FolderItem#canRecover()
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/LocalDatabaseItem.java