docs: def populate_from_blob(self, sa, blob, vio=None, store_raw_metadata=False):
          # type: (StorageEntity, blobxfer.operations.azure.StorageAccount,
          #        azure.storage.blob.models.Blob) -> None
          """Populate properties from Blob
          :param StorageEntity self: this
          :param blobxfer.operations.azure.StorageAccount sa: storage account
          :param azure.storage.blob.models.Blob blob: blob to populate from
          :param blobxfer.models.metadata.VectoredStripe vio: Vectored stripe
          :param bool store_raw_metadata: store raw metadata
          """
          if store_raw_metadata:
              self._raw_metadata = blob.metadata
          else:
              self._fileattr = blobxfer.models.metadata.fileattr_from_metadata(
                  blob.metadata)
          self._vio = vio
          self._can_create_containers = sa.can_create_containers
          self._name = blob.name
          self._snapshot = blob.snapshot
          self._lmt = blob.properties.last_modified
          self._size = blob.properties.content_length
          self._md5 = blob.properties.content_settings.content_md5
          self._cache_control = blob.properties.content_settings.cache_control
          if blob.properties.blob_type == BlobTypes.AppendBlob:
              self._mode = StorageModes.Append
              self._client = sa.append_blob_client
          elif blob.properties.blob_type == BlobTypes.BlockBlob:
              self._access_tier = blob.properties.blob_tier
              self._mode = StorageModes.Block
              self._client = sa.block_blob_client
          elif blob.properties.blob_type == BlobTypes.PageBlob:
              self._mode = StorageModes.Page
              self._client = sa.page_blob_client