First, lets have a look at the Mixer class. It has one instance variable m1 of type Mixer and go() method.
In line 4, m2 is a mixer object created at line 1 and that time m1 is initialized with null. Since m1 is also a Mixer, it can be assigned in m5 but as m1 is null m5 is also null. So, when you are calling the go() method on a null object(m5) JVM is giving a NullPointerException.
Hope, I could make you understand...
