private void createKeepFile(DomainObject sourceObj, TaskMonitor monitor) {
		String keepName = name + ".keep";
		try {
			GhidraFileData keepFileData = parent.getFileData(keepName, false);
			if (keepFileData != null) {
				try {
					keepFileData.delete();
				}
				catch (IOException e) {
					Msg.error(this,
						"Failed to create keep file: failed to remove old keep file: " + keepName,
						e);
					return;
				}
			}
			keepName = getKeepName();
			Msg.info(this, "Creating old version keep file: " + keepName);
			parent.createFile(keepName, sourceObj, monitor);
		}
		catch (InvalidNameException e) {
			throw new AssertException("Unexpected error", e);
		}
		catch (CancelledException e) {
			// ignore
		}
		catch (IOException e) {
			Msg.error(this, "Failed to create keep file: " + keepName, e);
		}
	}
Undo "checked-out" file.  The original repository file is restored.
@param keep if true, the private database will be renamed with a .keep
extension.
@param force true if operation may be proceed even when not connected to the versioned 
file-system.
@param inUseOK true if a busy/in-use file state may be ignored, else false
@throws NotConnectedException if shared project and not connected to repository
@throws FileInUseException if this file is in-use (when {@code inUseOK} == false).
@throws IOException if file is not checked-out or an IO / access error occurs.
Ghidra/Framework/Project/src/main/java/ghidra/framework/data/GhidraFileData.java