@Override
	public ItemCheckoutStatus checkout(CheckoutType checkoutType, String user, String projectPath)
			throws IOException {
		if (!isVersioned) {
			throw new UnsupportedOperationException("Non-versioned item does not support checkout");
		}
		if (fileSystem.isReadOnly()) {
			throw new ReadOnlyException();
		}
		synchronized (fileSystem) {

			ItemCheckoutStatus coStatus =
				checkoutMgr.newCheckout(checkoutType, user, getCurrentVersion(), projectPath);
			if (checkoutType != CheckoutType.NORMAL && coStatus != null && getFileID() == null) {
				// Establish missing fileID for on exclusive checkout
				resetFileID();
			}
			return coStatus;
		}
	}
@see ghidra.framework.store.FolderItem#setReadOnly(boolean)
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/LocalFolderItem.java