public ExecutableRecord transferExecutable(ExecutableRecord erec) throws LSHException {
		RowKey id = erec.getRowId();

		ExecutableRecord res;
		if (erec.isLibrary()) {
			res = newExecutableLibrary(erec.getNameExec(), erec.getArchitecture(), id);
		}
		else {
			res = newExecutableRecord(erec.getMd5(), erec.getNameExec(), erec.getNameCompiler(),
				erec.getArchitecture(), (Date) erec.getDate().clone(), erec.getRepository(),
				erec.getPath(), id);
		}
		res.cloneCategories(erec);
		return res;
	}
Transfer an executable from another container into this container
@param erec is the ExecutableRecord from the other container
@return the new transferred ExecutableRecord
@throws LSHException if the executable already exists with different metadata
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/description/DescriptionManager.java