public async Task <TMessageIn> RevertMessage(TMessageOut message) { if (message is null) { throw new ArgumentNullException(nameof(message)); } var intermediateMessage = await _destinationFormatter.RevertMessage(message); return(await _sourceFormatter.RevertMessage(intermediateMessage)); }