@Override
	public void resetDBSourceFile(FolderItem item, DomainObjectAdapterDB domainObj)
			throws IOException {
		if (!(item instanceof LocalDatabaseItem dbItem) ||
			!(domainObj instanceof ProgramDB program)) {
			throw new IllegalArgumentException("LocalDatabaseItem and ProgramDB required");
		}
		LocalManagedBufferFile bf = dbItem.openForUpdate(FolderItem.DEFAULT_CHECKOUT_ID);
		program.getDBHandle().setDBVersionedSourceFile(bf);
		loadProgramChangeSet(program, bf);
	}
<code>ProgramContentHandler</code> converts between Program instantiations
and FolderItem storage.  This class also produces the appropriate Icon for 
Program files.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/ProgramContentHandler.java