private Object[] getProjectChildren(ICProject cproject) throws CModelException {
    Object[] extras = null;
    IArchiveContainer archive = cproject.getArchiveContainer();
    if (getArchives(archive).length > 0) {
      extras = new Object[] {archive};
    }
    IBinaryContainer bin = cproject.getBinaryContainer();
    if (getExecutables(bin).length > 0) {
      Object[] o = new Object[] {bin};
      if (extras != null && extras.length > 0) {
        extras = concatenate(extras, o);
      } else {
        extras = o;
      }
    }
    LibraryRefContainer libRefCont = new LibraryRefContainer(cproject);
    Object[] libRefs = libRefCont.getChildren(cproject);
    if (libRefs != null && libRefs.length > 0) {
      Object[] o = new Object[] {libRefCont};
      if (extras != null && extras.length > 0) {
        extras = concatenate(extras, o);
      } else {
        extras = o;
      }
    }

    IncludeRefContainer incRefCont = new IncludeRefContainer(cproject);
    Object[] incRefs = incRefCont.getChildren(cproject);
    if (incRefs != null && incRefs.length > 0) {
      Object[] o = new Object[] {incRefCont};
      if (extras != null && extras.length > 0) {
        extras = concatenate(extras, o);
      } else {
        extras = o;
      }
    }
    return extras;
  }