bachase commented on this pull request.
for (auto const& k : trustedKeys_)
trustedKeys_ = std::move(newTrustedKeys);
I believe the change in UNL should be seen atomically by the `Validations` code called by `Consensus::startRound`. This not only changes a validations trust/untrusted status, but also determines what contributes to the preferred ledger calculation. Since `Validations` members can be called by many parts of the code, I think it is important that its internal state always reflects a complete UNL, rather than a UNL in transition.