code: def get_devices_by_parent(self, hid_filter=None):
          
          all_devs = self.get_devices(hid_filter)
          dev_group = dict()
          for hid_device in all_devs:
              #keep a list of known devices matching parent device Ids
              parent_id = hid_device.get_parent_instance_id()
              device_set = dev_group.get(parent_id, [])
              device_set.append(hid_device)
              if parent_id not in dev_group:
                  #add new
                  dev_group[parent_id] = device_set
          return dev_group
docs: Group devices returned from filter query in order \
          by devcice parent id.