private void startPreSave() {
		synchronized (preSaveLock) {
			try {
				preSaveTask = new PreSaveTask();
			}
			catch (Throwable t) {
				Msg.error(this, "Unexpected Exception creating Pre-save file in : " +
					getFile().getParent() + ": " + t.getMessage(), t);
				preSaveFile = null;
				preSaveTask = null;
			}
		}
	}
Initiate a background pre-save if possible.
This is intended to save time for the final Save.
when only a small number of changes will be made.  If an I/O error
or other exception occurs during the process, the preSave will
be aborted silently.
@param filename name of preSave file.  The preSave file will
be created within the same directory as the source file.  If this file
already exists, this method will have no affect.
@throws IllegalStateException if this method is invoked more than
once for a given instance or a source file was not used.  This method 
may be re-invoked after saveAs is invoked.
Ghidra/Framework/DB/src/main/java/db/buffers/LocalManagedBufferFile.java