@Override
  public TransformationOutput transform(Message message) {
    Message transformedMsg = null;
    try {
      Objects.requireNonNull(message, "message must not be null");
      Objects.requireNonNull(message.getMessageInfo(), "message's messageInfo must not be null");
      Objects.requireNonNull(message.getStream(), "message's inputStream must not be null");
      StoreKey oldStoreKey = message.getMessageInfo().getStoreKey();
      StoreKey newStoreKey = storeKeyConverter.getConverted(oldStoreKey);
      if (newStoreKey != null) {
        transformedMsg = newMessage(message.getStream(), newStoreKey, message.getMessageInfo());
      }
    } catch (Exception e) {
      return new TransformationOutput(e);
    }
    return new TransformationOutput(transformedMsg);
  }
StoreKeyConverter should already have converted the expected list of IDs.
@param storeKeyConverter
@param storeKeyFactory
ambry-replication/src/main/java/com/github/ambry/replication/BlobIdTransformer.java