Return statement does not work!
<p>I have this simple method here:</p>

<pre><code>private Node addItem(Node current, Node target) {
    if (current.data.getId() &lt; target.data.getId()) {
        if (current.larger == null) {
            current.larger = target;
            Log.i("BinaryTree", "Added item: " + target.data.getId());
            return target;
        }
        return addItem(current.larger, target);
    } else {
        if (current.smaller == null) {
            current.smaller = target;
            Log.i("BinaryTree", "Added item: " + target.data.getId());
            return target;
        }
        return addItem(current.smaller, target);
    }
}
</code></pre>

<p>when i debug it, the code gets to the line 'return target;', and just skips it and goes to the last return statement - 'return addItem(current.smaller, target);'!
I have never in my life seen anything like this WTF?!?!</p>
