Не понимаю, почему метод readResolve должен иметь тип Object. Мне представляется логичным, что должен быть тип Singleton.