docs: def _message_hostgroup_parse(self, message):
  		""" Parse given message and return list of group names and socket information. Socket information
  		is parsed in :meth:`.WBeaconGouverneurMessenger._message_address_parse` method
  
  		:param message: bytes
  		:return: tuple of list of group names and WIPV4SocketInfo
  		"""
  		splitter_count = message.count(WHostgroupBeaconMessenger.__message_groups_splitter__)
  		if splitter_count == 0:
  			return [], WBeaconGouverneurMessenger._message_address_parse(self, message)
  		elif splitter_count == 1:
  			splitter_pos = message.find(WHostgroupBeaconMessenger.__message_groups_splitter__)
  			groups = []
  			group_splitter = WHostgroupBeaconMessenger.__group_splitter__
  			for group_name in message[(splitter_pos + 1):].split(group_splitter):
  				groups.append(group_name.strip())
  			address = WBeaconGouverneurMessenger._message_address_parse(self, message[:splitter_pos])
  			return groups, address
  		else:
  			raise ValueError('Invalid message. Too many separators')