Singleton еще раз, что недопустимо. Существует два способа избежать этого:
• явный запрет сериализации.
• определение метода с сигнатурой (default/public/private/protected/) Object readResolve() throws ObjectStreamException, назначением которого станет возврат замещающего объекта вместо объекта, на котором он вызван.