<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_category(self, name, vivify=False):
 """ Returns requested category. :param name: Category to retrieve. :type name: unicode :param vivify: Vivify missing parents in the chain to the requested category. :type vivify: bool :return: Category. :rtype: dict """


        category = self.__get_category(self.__categories, name, vivify)
        if isinstance(category, dict):
            LOGGER.debug("> Category '{0}': '{1}'.".format(name, category))
            return category
        else:
            raise umbra.exceptions.CategoryExistsError("{0} | '{1}' category doesn't exists!".format
                                                       (self.__class__.__name__, name))