Если вы создаете класс коллекции, не делайте его потокобезопасным. Это довольно сложно сделать правильно (например, правильно и быстро), и проблемы для вашего потребителя, когда вы делаете это неправильно (heisenbugs), трудно отлаживать.
Вместо этого реализуйте один из API-интерфейсов Collection и используйте Collections.synchronizedCollection (yourCollectionInstance), чтобы получить поточно-ориентированную реализацию, если она им нужна.
Просто обратитесь к соответствующему методу Collections.synchronizedXXX в вашем классе javadoc; это прояснит, что вы учли безопасность нитей в своем дизайне и гарантировали, что у потребителя есть в своем распоряжении опция, обеспечивающая безопасность потоков.