<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _load_upgrades(self, remove_applied=True):
 """Load upgrade modules. :param remove_applied: if True, already applied upgrades will not be included, if False the entire upgrade graph will be returned. """

        if remove_applied:
            self.load_history()

        for entry_point in iter_entry_points('invenio_upgrader.upgrades'):
            upgrade = entry_point.load()()
            self.__class__._upgrades[upgrade.name] = upgrade

        return self.__class__._upgrades