@utils.Synchronized
  def _SyncAttributes(self):
    # This effectively moves all the values from the new_attributes to the
    # _attributes caches.
    for attribute, value_array in self.new_attributes.iteritems():
      if not attribute.versioned or self.age_policy == NEWEST_TIME:
        # Store the latest version if there are multiple unsynced versions.
        value = value_array[-1]
        self.synced_attributes[attribute] = [LazyDecoder(decoded=value,
                                                         age=value.age)]

      else:
        synced_value_array = self.synced_attributes.setdefault(attribute, [])
        for value in value_array:
          synced_value_array.append(LazyDecoder(decoded=value, age=value.age))

        synced_value_array.sort(key=lambda x: x.age, reverse=True)

    self.new_attributes = {}
    self._to_delete.clear()
    self._dirty = False
    self._new_version = False
Returns a dict with image data for the given opaque image id.
dataset/ETHPy150Open google/grr/grr/lib/aff4.py/AFF4Object._SyncAttributes--crossover with--dataset/ETHPy150Open nii-cloud/dodai-compute/nova/image/glance.py/GlanceImageService.show