code: def _get_complex_agents(self, complex_id):
          agents = []
          components = self._recursively_lookup_complex(complex_id)
          for c in components:
              db_refs = {}
              name = uniprot_client.get_gene_name(c)
              if name is None:
                  db_refs['SIGNOR'] = c
              else:
                  db_refs['UP'] = c
                  hgnc_id = hgnc_client.get_hgnc_id(name)
                  if hgnc_id:
                      db_refs['HGNC'] = hgnc_id
              famplex_key = ('SIGNOR', c)
              if famplex_key in famplex_map:
                  db_refs['FPLX'] = famplex_map[famplex_key]
                  if not name:
                      name = db_refs['FPLX']
              elif not name:
                  logger.info('Have neither a Uniprot nor Famplex grounding ' + \
                              'for ' + c)
                  if not name:
                      name = db_refs['SIGNOR']
              assert(name is not None)
              agents.append(Agent(name, db_refs=db_refs))
          return agents