Кто знает почему нужно синхронизировать только методы getByName() и removeByName()? Я так понял что синхронизировать нужно только те методы которые изменяют/читают поля класса (тоесть почти все)? И почему не надо синхронизировать абстрактный метод ведь при переопределении он может изменять/читать поля класса? И можно ли синхронизировать абстрактные методы?