docs: def add_multiple(self, flags):
          """Add multiple command line flags
  
          Arguments:
              flags (:obj:`list` of :obj:`tuple`): List of flags
                  in tuples (name, flag_type, description, (optional) default)
  
          Raises:
              TypeError: Provided wrong arguments or arguments of wrong types, method will raise TypeError
          """
          if not isinstance(flags, list):
              raise TypeError("Expected list of flags, got object of type{}".format(type(flags)))
          for flag in flags:
              if isinstance(flag, Flag):
                  self.add_item(flag)
              elif isinstance(flag, tuple):
                  try:
                      item = Flag(*flag)
                      self.add_item(item)
                  except TypeError as e:
                      raise TypeError("Invalid arguments to initialize a flag definition, expect ({0} [, {1}]) but got {3}"
                          .format(", ".join(Flag.REQUIRED_FIELDS),
                          ", ".join(Flag.OPTIONAL_FIELDS), flag))