I didn't understand anything, so I don't even know what to ask... And some other questions about this and the last tasks: 1. What does it mean when we write something like "classWithStatic.i" and "loadedObject.j" (these ".i" and ".j")? I don't remember seeing something like this before. Until now, I thought that everything that came after the period should be a method (e.g. something.close(); or something.flush();). But now we are writing these variables (?) after the period after an object? Is that it? Why? 2. Why there is always an overridden equals(Object o) method on these tasks? What is its purpose? 3. Why there is also an overridden hashCode() method on the tasks, with a mysterious code in it? 4. What does it mean to say "The main method is not tested." or "The main method exists just for you and is not involved in testing the solution."? 5. Am I really the only person here who didn't understand those things? I'm wondering if I unintentionally skipped some lesson xD. Anyway, I feel that the difficulty of this lesson so far is not that the tasks are very hard in itself. It's just that they are ununderstandable at this point of learning (at least for me), because there is a lot of new stuff that I've never seen before and CodeGym didn't teach us... Thanks in advance for any help! [Code bellow is a copy of another post.]