code: def make_model(self):
          
          ppa = PysbPreassembler(self.statements)
          ppa.replace_activities()
          self.statements = ppa.statements
          self.sbgn = emaker.sbgn()
          self._map = emaker.map()
          self.sbgn.append(self._map)
          for stmt in self.statements:
              if isinstance(stmt, Modification):
                  self._assemble_modification(stmt)
              elif isinstance(stmt, RegulateActivity):
                  self._assemble_regulateactivity(stmt)
              elif isinstance(stmt, RegulateAmount):
                  self._assemble_regulateamount(stmt)
              elif isinstance(stmt, Complex):
                  self._assemble_complex(stmt)
              elif isinstance(stmt, ActiveForm):
                  #self._assemble_activeform(stmt)
                  pass
              else:
                  logger.warning("Unhandled Statement type %s" % type(stmt))
                  continue
          sbgn_str = self.print_model()
          return sbgn_str
docs: Assemble the SBGN model from the collected INDRA Statements.
  
          This method assembles an SBGN model from the set of INDRA Statements.
          The assembled model is set as the assembler's sbgn attribute (it is
          represented as an XML ElementTree internally). The model is returned
          as a serialized XML string.
  
          Returns
          -------
          sbgn_str : str
              The XML serialized SBGN model.