public bool TryGetFailureInfoForMessage(string messageId, out ProcessingFailureInfo processingFailureInfo) { lock (lockObject) { FailureInfoNode node; if (!failureInfoPerMessage.TryGetValue(messageId, out node)) { processingFailureInfo = null; return false; } processingFailureInfo = node.FailureInfo; return true; } }