code: def get_complexes(self):
          
          for obj in self.model.getObjects().toArray():
              bpe = _cast_biopax_element(obj)
              if not _is_complex(bpe):
                  continue
              ev = self._get_evidence(bpe)
  
              members = self._get_complex_members(bpe)
              if members is not None:
                  if len(members) > 10:
                      logger.debug('Skipping complex with more than 10 members.')
                      continue
                  complexes = _get_combinations(members)
                  for c in complexes:
                      self.statements.append(decode_obj(Complex(c, ev),
                                                        encoding='utf-8'))
docs: Extract INDRA Complex Statements from the BioPAX model.
  
          This method searches for org.biopax.paxtools.model.level3.Complex
          objects which represent molecular complexes. It doesn't reuse
          BioPAX Pattern's org.biopax.paxtools.pattern.PatternBox.inComplexWith
          query since that retrieves pairs of complex members rather than
          the full complex.