По моему опыту, предоставление доступа к коллекции всегда кажется плохой вещью - в основном потому, что их практически невозможно контролировать после выхода. Я привык никогда не разрешать прямой доступ к коллекциям вне класса, в котором они содержатся.
Основная причина этого заключается в том, что почти всегда существует какая-то бизнес-логика, связанная с набором данных - например, проверка при добавлении или, возможно, однажды вам понадобится добавить вторую тесно связанную коллекцию.
Если вы разрешите доступ, о котором говорите, в будущем будет очень трудно сделать такую модификацию.
Кроме того, я часто обнаруживаю, что мне в конечном итоге приходится хранить немного больше данных с сохраняемым объектом - поэтому я создаю новый объект (известный только внутри "Контейнера", в котором находится коллекция), и я поместите объект внутрь, прежде чем поместить его в коллекцию.
Если вы сохранили свою коллекцию заблокированной, это тривиальный рефакторинг. Попытайтесь представить, как трудно было бы в некоторых случаях работать над тем, где вы не держали коллекцию заблокированной ...