Lesson 2 - done

I'm done with Lesson 2))
The purpose of that example is to let you understand how method parameters are passed in Java. Inside the swap method you manipulate with references to the objects which are passed by value. Thus, at the time we're inside the swap method, we have four references (two for each object inside the method, two outside). Even if we destroy any of the inner references, it wouldn't have any influence on the two outside, as well as on the `Foo` objects. After we quit the swap method, the references which were inside are destroyed because of scope. However, the magic there because of how we pass objects as parameters in Java, not because of scope as you assumed.