you are aware that findTranslation updates $object and does not give you a copy?

also, there is UnitOfWork::getCurrentLocale($document) which would avoid to require a getLocale method on the object. (unless you have a document that had its locale updated locally, but i guess thats not a situation that can occur)