code: def add_category(self, category):
          
          assert isinstance(category, list), 'Category input was expecting list.'
          from smc.elements.other import Category
          for tag in category:
              category = Category(tag)
              try:
                  category.add_element(self.href)
              except ElementNotFound:
                  Category.create(name=tag)
                  category.add_element(self.href)
docs: Category Tags are used to characterize an element by a type
          identifier. They can then be searched and returned as a group
          of elements. If the category tag specified does not exist, it
          will be created. This change will take effect immediately.
  
          :param list tags: list of category tag names to add to this
              element
          :type tags: list(str)
          :raises ElementNotFound: Category tag element name not found
          :return: None
  
          .. seealso:: :class:`smc.elements.other.Category`