code: def redo(self, channel, image):
          
  
          imname = image.get('name', 'none')
          chname = channel.name
          # is image in contents tree yet?
          in_contents = self.is_in_contents(chname, imname)
  
          # get old highlighted entries for this channel -- will be
          # an empty set or one key
          old_highlight = channel.extdata.contents_old_highlight
  
          # calculate new highlight keys -- again, an empty set or one key
          if image is not None:
              key = self._get_hl_key(chname, image)
              new_highlight = set([key])
          else:
              # no image has the focus
              new_highlight = set([])
  
          # Only highlights active image in the current channel
          if self.highlight_tracks_keyboard_focus:
              if in_contents:
                  self.update_highlights(self._hl_path, new_highlight)
              self._hl_path = new_highlight
  
          # Highlight all active images in all channels
          else:
              if in_contents:
                  self.update_highlights(old_highlight, new_highlight)
              channel.extdata.contents_old_highlight = new_highlight
  
          return True
docs: This method is called when an image is set in a channel.