code: def _finalize_nonblock_blob(self, ud, metadata):
          # type: (Uploader, blobxfer.models.upload.Descriptor, dict) -> None
          
          # resize blobs to final size if required
          needs_resize, final_size = ud.requires_resize()
          if needs_resize:
              self._resize_blob(ud, final_size)
          # set md5 page blob property if required
          if (ud.requires_non_encrypted_md5_put or
                  ud.entity.cache_control is not None):
              self._set_blob_properties(ud)
          # set metadata if needed
          if blobxfer.util.is_not_empty(metadata):
              self._set_blob_metadata(ud, metadata)
docs: Finalize Non-Block blob
          :param Uploader self: this
          :param blobxfer.models.upload.Descriptor ud: upload descriptor
          :param dict metadata: metadata dict