code: def _filesec(self, files=None):
          
          if files is None:
              files = self.all_files()
  
          filesec = etree.Element(utils.lxmlns("mets") + "fileSec")
          filegrps = {}
          for file_ in files:
              if file_.type.lower() not in ("item", AIP_ENTRY_TYPE):
                  continue
              # Get fileGrp, or create if not exist
              filegrp = filegrps.get(file_.use)
              if filegrp is None:
                  filegrp = etree.SubElement(
                      filesec, utils.lxmlns("mets") + "fileGrp", USE=file_.use
                  )
                  filegrps[file_.use] = filegrp
  
              file_el = file_.serialize_filesec()
              if file_el is not None:
                  filegrp.append(file_el)
  
          return filesec
docs: Returns fileSec Element containing all files grouped by use.