Re: synchronization. Since this mimics existing code it is fine. As for the duplication, you might want to find a way to refactor into a method that can be used in place of the copy-and-pasted duplication.