code: def MultiOpen(self, urns, aff4_type=None, mode="r"):
      
      not_opened_urns = []
      _ValidateAFF4Type(aff4_type)
  
      for urn in urns:
        key = self._ObjectKey(urn, mode)
        try:
          result = self._objects_cache[key]
          if aff4_type is not None and not isinstance(result, aff4_type):
            continue
          yield result
  
        except KeyError:
          not_opened_urns.append(urn)
  
      if not_opened_urns:
        for obj in FACTORY.MultiOpen(
            not_opened_urns, follow_symlinks=False, mode=mode, token=self._token):
          key = self._ObjectKey(obj.urn, mode)
          self._objects_cache[key] = obj
  
          if aff4_type is not None and not isinstance(obj, aff4_type):
            continue
  
          yield obj
docs: Opens many urns efficiently, returning cached objects when possible.