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']  # Set agent name to Famplex name if
                                              # the Uniprot name is not available
              elif not name:
                  # We neither have a Uniprot nor Famplex grounding
                  logger.info('Have neither a Uniprot nor Famplex grounding ' + \
                              'for ' + c)
                  if not name:
                      name = db_refs['SIGNOR']  # Set the agent name to the
                                                # Signor name if neither the
                                                # Uniprot nor Famplex names are
                                                # available
              assert(name is not None)
              agents.append(Agent(name, db_refs=db_refs))
          return agents
docs: Returns a list of agents corresponding to each of the constituents
          in a SIGNOR complex.