<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def setup_system_repository(self, repository_type, reset_on_start, repository_class=None):
 """ Sets up the system repository with the given repository type. :param str repository_type: Repository type to use for the SYSTEM repository. :param bool reset_on_start: Flag to indicate whether stored system resources should be discarded on startup. :param repository_class: class to use for the system repository. If not given, the registered class for the given type will be used. """

        # Set up the system entity repository (this does not join the
        # transaction and is in autocommit mode).
        cnf = dict(messaging_enable=True,
                   messaging_reset_on_start=reset_on_start)
        system_repo = self.new(repository_type,
                               name=REPOSITORY_DOMAINS.SYSTEM,
                               repository_class=repository_class,
                               configuration=cnf)
        self.set(system_repo)