docs: def metadata(self):
      """Retrieves metadata about the object.
  
      Returns:
        An ObjectMetadata instance with information about this object.
      Raises:
        Exception if there was an error requesting the object's metadata.
      """
      if self._info is None:
        try:
          self._info = self._api.objects_get(self._bucket, self._key)
        except Exception as e:
          raise e
      return ObjectMetadata(self._info) if self._info else None