what is the logic behind this code
<p>I would like to to understand how the output works here from this java code.. 
kindly help !
I took this code from a book called Head First Java
here is the code:</p>

<pre><code>public class EchoTestDrive {

    public static void main(String[] args) {
        Echo e1 = new Echo();
        Echo e2 = new Echo(); // the correct answer
        //or
        Echo e2 = e1; // is the bonus answer!
        int x = 0;
        while (x &lt; 4) {
            e1.hello();
            e1.count = e1.count + 1;
            if (x == 3) {
                e2.count = e2.count + 1;
            }
            if (x &gt; 0) {
                e2.count = e2.count + e1.count;
            }
            x = x + 1;
        }
        System.out.println(e2.count);
    }
}

class Echo {

    int count = 0;

    void hello() {
        System.out.println("helloooo... ");
    }
}
</code></pre>

<p>and this is the output:</p>

<pre><code>  %java EchoTestDrive
   helloooo...
   helloooo...
   helloooo...
   helloooo...
   10
</code></pre>
