docs: def getItem(self, userContent, title=None, name=None, itemType=None):
          """Gets an item by a combination of title, name, and type.
          
          Args:
              userContent (list): A list of user content.
              title (str): The title of the item. Defaults to ``None``.
              name (str): The name of the item. Defaults to ``None``.
              itemType (str): The type of the item. Defaults to ``None``.
          Returns:
              str: The item's ID. If the item does not exist, ``None``.        
          Raises:
              AttributeError: If both ``title`` and ``name`` are not specified (``None``).
          See Also:
              :py:func:`getItemID`
  
          """
          itemID = None
          if name is None and title is None:
              raise AttributeError('Name or Title needs to be specified')
          for item in userContent:
              if title is None and name is not None:
                  if item.name == name and (itemType is None or item.type == itemType):
                      return item
  
              elif title is not None and name is None:
                  if item.title == title and (itemType is None or item.type == itemType):
                      return item
  
              else:
                  if item.name == name and item.title == title and (itemType is None or item.type == itemType):
                      return item
          return None