private Address findMinAddress(ModuleDB module, Address addr) throws IOException {
		Address minAddr = addr;
		List<DBRecord> list = module.getParentChildRecords();
		for (int i = 0; i < list.size(); i++) {
			DBRecord rec = list.get(i);
			long childID = rec.getLongValue(ParentChildDBAdapter.CHILD_ID_COL);
			Address childMinAddr = null;
			if (childID < 0) {
				FragmentDB frag = moduleMgr.getFragmentDB(-childID);
				if (!frag.isEmpty()) {
					childMinAddr = frag.getMinAddress();
				}
			}
			else {
				ModuleDB m = moduleMgr.getModuleDB(childID);
				childMinAddr = findMinAddress(m, addr);
			}
			if (childMinAddr != null && minAddr == null) {
				minAddr = childMinAddr;
			}
			else if (childMinAddr != null && childMinAddr.compareTo(minAddr) < 0) {
				minAddr = childMinAddr;
			}
		}
		return minAddr;
	}
Use the given list to get the child order and update each record.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/module/ModuleDB.java