private static Message FindMessage(IEnumerable<Message> messages, int id) { Message result = null; foreach(Message msg in messages) { if(msg.ID == id) { result = msg; } if(result == null) { result = FindMessage(msg.Replies, id); } if(result != null) break; } return result; }