code: def GetFileEntryByPathSpec(self, path_spec):
      
      store_index = vshadow.VShadowPathSpecGetStoreIndex(path_spec)
  
      # The virtual root file has not corresponding store index but
      # should have a location.
      if store_index is None:
        location = getattr(path_spec, 'location', None)
        if location is None or location != self.LOCATION_ROOT:
          return None
  
        return vshadow_file_entry.VShadowFileEntry(
            self._resolver_context, self, path_spec, is_root=True,
            is_virtual=True)
  
      if store_index < 0 or store_index >= self._vshadow_volume.number_of_stores:
        return None
  
      return vshadow_file_entry.VShadowFileEntry(
          self._resolver_context, self, path_spec)
docs: Retrieves a file entry for a path specification.
  
      Args:
        path_spec (PathSpec): path specification.
  
      Returns:
        VShadowFileEntry: file entry or None if not available.