@Override
	public Group[] getChildren() {
		lock.acquire();
		try {
			checkIsValid();
			List<DBRecord> list = getParentChildRecords();
			Group[] kids = new Group[list.size()];
			if (kids.length != childCount) {
				// data inconsistency
				throw new IOException("Inconsistent module child count (" + kids.length + " vs. " +
					childCount + "): " + getName());
			}
			for (int i = 0; i < list.size(); i++) {
				DBRecord rec = list.get(i);
				long childID = rec.getLongValue(ParentChildDBAdapter.CHILD_ID_COL);
				if (childID < 0) {
					kids[i] = moduleMgr.getFragmentDB(-childID);
				}
				else {
					kids[i] = moduleMgr.getModuleDB(childID);
				}
			}
			return kids;
		}
		catch (IOException e) {
			moduleMgr.dbError(e);
		}
		finally {
			lock.release();
		}
		return new Group[0];
	}
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