private boolean removeChild(long childID, DBRecord pcRec, boolean isFragment,
			boolean deleteChild)
			throws IOException {

		parentChildAdapter.removeParentChildRecord(pcRec.getKey());
		updateChildCount(-1);

		String name = null;
		boolean success = true;
		if (isFragment) {
			DBRecord fragRec = fragmentAdapter.getFragmentRecord(childID);
			name = fragRec.getString(FragmentDBAdapter.FRAGMENT_NAME_COL);
			if (deleteChild) {
				success = fragmentAdapter.removeFragmentRecord(childID);
			}
		}
		else {
			DBRecord mrec = moduleAdapter.getModuleRecord(childID);
			name = mrec.getString(ModuleDBAdapter.MODULE_NAME_COL);
			if (deleteChild) {
				success = moduleAdapter.removeModuleRecord(childID);
			}
		}
		if (success) {
			resetChildOrder();

			moduleMgr.groupRemoved(this, childID, name, isFragment, deleteChild);
		}
		return success;
	}
Constructor
@param moduleMgr module manager
@param cache ModuleDB cache
@param record database record for this module
@throws IOException if database IO error occurs
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/module/ModuleDB.java