def METHOD_NAME(self):
    self.device.format.update_parted_disk()
    # Reconcile the new partition list with the old.
    # Remove any partitions that are no longer present from the devicetree.
    #   On GPT we will use the partition UUIDs.
    #   On DOS we will use the partition start/end sectors since the UUIDs are a joke.
    #
    # XXX We use the udev device list because we think it could be more current. Does
    #     this even make sense?
    udev_devices = udev.get_devices()
    parted_partitions = self.device.format.partitions
    for partition in self.device.children[:]:
        start_sector = partition.parted_partition.geometry.start
        udev_device = None
        if self.device.format.label_type == "gpt":
            udev_device = six.next((ud for ud in udev_devices
                                    if udev.device_get_partition_uuid(ud) == partition.uuid),
                                   None)
        else:
            udev_device = six.next((ud for ud in udev_devices
                                    if udev.device_get_partition_disk(ud) == self.device.name and
                                    int(ud.get("ID_PART_ENTRY_OFFSET")) == start_sector),
                                   None)
        if udev_device is None:
            self._devicetree.recursive_remove(partition, modparent=False, actions=False)
            continue
        parted_partition = six.next((pp for pp in parted_partitions
                                     if os.path.basename(pp.path) == udev.device_get_name(udev_device)),
                                    None)
        log.debug("got parted_partition %s for partition %s",
                  parted_partition.path.split("/")[-1], partition.name)
        partition.parted_partition = parted_partition
    # Add any new partitions to the devicetree.
    for parted_partition in self.device.format.partitions:
        partition_name = os.path.basename(parted_partition.path)
        start_sector = parted_partition.geometry.start
        udev_device = six.next((ud for ud in udev_devices
                                if udev.device_get_name(ud) == partition_name and
                                int(ud.get("ID_PART_ENTRY_OFFSET")) == start_sector),
                               None)
        if udev_device is None:
            continue
        self._devicetree.handle_device(udev_device)