docs: def __add_item(self, item, keys=None):
          """ Internal method to add an item to the multi-key dictionary"""
          if(not keys or not len(keys)):
              raise Exception('Error in %s.__add_item(%s, keys=tuple/list of items): need to specify a tuple/list containing at least one key!'
                              % (self.__class__.__name__, str(item)))
          direct_key = tuple(keys) # put all keys in a tuple, and use it as a key
          for key in keys:
              key_type = str(type(key))
  
              # store direct key as a value in an intermediate dictionary
              if(not key_type in self.__dict__):
                  self.__setattr__(key_type, dict())
              self.__dict__[key_type][key] = direct_key
  
              # store the value in the actual dictionary
              if(not 'items_dict' in self.__dict__):
                  self.items_dict = dict()
              self.items_dict[direct_key] = item