def METHOD_NAME(self):
    objects = self.bluez_manager.GetManagedObjects()
    temporary = {}
    for path, interfaces in sorted(objects.items()):
        interface_keys = interfaces.keys()
        for name, match in self.names_and_matches:
            if match in interface_keys:
                interface = {k.lower(): v for k, v in interfaces[match].items()}
                battery = interfaces.get("org.bluez.Battery1", {}).get("Percentage")
                interface.update({"path": path, "uuids": [], "battery": battery})
                temporary.setdefault(name, []).append(interface)
                break
    for device in temporary.pop("devices", []):
        for index, adapter in enumerate(temporary["adapters"]):
            if device["adapter"] == adapter["path"]:
                temporary["adapters"][index].setdefault("devices", []).append(device)
                break
    return temporary