<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_model(self, policies=None, initial_conditions=True, reverse_effects=False):
 """Assemble the Kami model from the collected INDRA Statements. This method assembles a Kami model from the set of INDRA Statements. The assembled model is both returned and set as the assembler's model argument. Parameters policies : Optional[Union[str, dict]] A string or dictionary of policies, as defined in :py:class:`indra.assemblers.KamiAssembler`. This set of policies locally supersedes the default setting in the assembler. This is useful when this function is called multiple times with different policies. initial_conditions : Optional[bool] If True, default initial conditions are generated for the agents in the model. Returns ------- model : dict The assembled Kami model. """

        self.processed_policies = self.process_policies(policies)
        ppa = PysbPreassembler(self.statements)
        ppa.replace_activities()
        if reverse_effects:
            ppa.add_reverse_effects()
        self.statements = ppa.statements
        # Set local policies for this make_model call that overwrite
        # the global policies of the Kami assembler
        if policies is not None:
            global_policies = self.policies
            if isinstance(policies, basestring):
                local_policies = {'other': policies}
            else:
                local_policies = {'other': 'default'}
                local_policies.update(policies)
            self.policies = local_policies

        self.model = {}
        graphs = []
        self.model['graphs'] = graphs
        self.model['typing'] = []

        # Action graph generated here
        action_graph = {'id': 'action_graph',
                        'attrs': {'name': 'action_graph'}}
        action_graph['graph'] = {'nodes': [], 'edges': []}
        graphs.append(action_graph)

        # Iterate over the statements to generate rules
        self._assemble()
        # Add initial conditions
        #if initial_conditions:
        #    self.add_default_initial_conditions()

        # If local policies were applied, revert to the global one
        if policies is not None:
            self.policies = global_policies

        return self.model