My only complaint is the mix between snake_case and PascalCase. I tried removing it(in favor of snake_case, but you could probably get a similar result if going full PascalCase), and it looks much better(no guarantee it has the same semantics, I&#x27;ve never worked with rust):<p><pre><code>     fn handle_message(&amp;mut self, find_node_query: messages::find_node_query) {
        let origin = node::udp_node::deserialize(find_node_query.get_origin());
        let target = address::from_str(find_node_query.get_target());

        {
            &#x2F;&#x2F; Borrow self.routing_table first time
            let nodes: vec&lt;&amp;box&lt;node::node&gt;&gt; = self.routing_table.nearest_to(&amp;target);
            let response = message::response(
                self.transaction_ids.generate(),
                response::find_node(&amp;self.self_node, nodes)
            );
            origin.send(response.serialize());
        } &#x2F;&#x2F; Done borrowing self.routing_table here

        &#x2F;&#x2F; Borrow self.routing_table again
        self.routing_table.insert(origin);
    }</code></pre>