@Override
  public short undelete(MessageInfo info) throws StoreException {
    try {
      return cloudDestination.undeleteBlob((BlobId) info.getStoreKey(), info.getLifeVersion(), null);
    } catch (StoreException e) {
      throw e;
    } catch (Throwable e) {
      throw new StoreException(e.getMessage(), StoreErrorCodes.IOError);
    }
  }
Undelete a blob
@param info The {@link MessageInfo} that carries some basic information about this operation.
@return
@throws StoreException
ambry-cloud/src/main/java/com/github/ambry/cloud/CloudBlobStore.java