Мне интересна вторая Ошибка (Метод readObject(java.io.ObjectInputStream s) класса Solution не должен быть synchronized.) Почему?? Здесь есть value // count и они меняются.
private synchronized void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
        java.io.ObjectInputStream.GetField fields = s.readFields();
        value = (char[]) fields.get("value", null);
        count = fields.get("count", 0);
}