Although I agree with your comment in isolation, that what you suggested is a better way, but if you look at the code, this function is inside the Builder and the "result" instance it is updating is essentially "hidden" till build is called. So, unless the builder is concurrently updated, this should not be an issue. makes sense?