Вот чисто мой мейн метод этой задачи. И проблема в том, что он работает. НО! Работает он ровно до того момента, пока я не уберу проверку If (stream.available() >0)
public static void main(String[] args) {
        try {
            String path = "C:\\Users\\ad_in\\Desktop\\test2.txt";
            Solution solution = new Solution("C:\\Users\\ad_in\\Desktop\\test.txt");

            solution.writeObject("Some Information For Testing My Task");

            ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(path));
            objectOutputStream.close();

            ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(path));

            if (objectInputStream.available() > 0) {
                solution = (Solution) objectInputStream.readObject();
            }

            objectInputStream.close();
            solution.writeObject("Another new Information");


        } catch (Exception e) {
            e.printStackTrace();
        }

    }
Что особенно интересно ,так это то, что он спокойно заходит в это поле, когда if установлен. Но не может адекватно отработать его, когда if нет. !???? И как только проверка убирается, выдаётся следующая ошибка:
java.io.EOFException
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3039)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1598)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:483)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:441)
	at com.javarush.task.task20.task2022.Solution.main(Solution.java:52)

Чё самое интересное, валидатору этот факт не помешал принять задачу.