@Override
	public LocalDatabaseItem createFile(String parentPath, String name, File packedFile,
			TaskMonitor monitor, String user)
			throws InvalidNameException, IOException, CancelledException {
		if (readOnly) {
			throw new ReadOnlyException();
		}

		testValidName(parentPath, true);
		testValidName(name, false);

		ItemDeserializer itemDeserializer = new ItemDeserializer(packedFile);
		String contentType;
		try {
			int fileType = itemDeserializer.getFileType();
			if (fileType != FolderItem.DATABASE_FILE_TYPE) {
				throw new UnsupportedOperationException("Only packed database files are supported");
			}
			if (name == null) {
				name = itemDeserializer.getItemName();
			}
			contentType = itemDeserializer.getContentType();
		}
		finally {
			itemDeserializer.dispose();
		}

		ItemStorage itemStorage = allocateItemStorage(parentPath, name);
		LocalDatabaseItem item = null;
		try {
			PropertyFile propertyFile = itemStorage.getPropertyFile();
			item =
				new LocalDatabaseItem(this, propertyFile, packedFile, contentType, monitor, user);
		}
		finally {
			if (item == null) {
				deallocateItemStorage(parentPath, name);
			}
		}
		return item;
	}
Notification that FileID has been changed within propertyFile
@param propertyFile
@param oldFileId
@throws IOException
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/LocalFileSystem.java