code: def Update(self, attribute=None):
      
      # client id is the first path element
      client_id = self.urn.Split()[0]
  
      if attribute == "CONTAINS":
        # Get the pathspec for this object
        flow_id = flow.StartAFF4Flow(
            client_id=client_id,
            # Dependency loop: aff4_objects/aff4_grr.py depends on
            # aff4_objects/standard.py that depends on flows/general/filesystem.py
            # that eventually depends on aff4_objects/aff4_grr.py
            # flow_name=filesystem.ListDirectory.__name__,
            flow_name="ListDirectory",
            pathspec=self.real_pathspec,
            notify_to_user=False,
            token=self.token)
  
        return flow_id
docs: Refresh an old attribute.
  
      Note that refreshing the attribute is asynchronous. It does not change
      anything about the current object - you need to reopen the same URN some
      time later to get fresh data.
  
      Attributes: CONTAINS - Refresh the content of the directory listing.
      Args:
         attribute: An attribute object as listed above.
  
      Returns:
         The Flow ID that is pending
  
      Raises:
         IOError: If there has been an error starting the flow.