How java implement the access to the enclosing class from an inner inner class?
<p>I have created an inner class in an inner class :</p>

<pre><code>public class EnclosingClass {

    public class InnerClass {
        private EnclosingClass getEnclosing() {
            return EnclosingClass.this;
        }

        public class InnerInnerClass {
            private InnerClass getEnclosing() {
                return InnerClass.this;
            }

            private EnclosingClass getEnclosingOfEnclosing() {
                return EnclosingClass.this;
            }
        }        
    }
}
</code></pre>

<p>I have been surprised that java allows the <code>InnerInnerClass</code> to access directly  the <code>EnclosingClass</code>. How is this code implemented internally by Java?</p>

<p>The <code>InnerInnerClass</code> keeps two pointers (one on the <code>InnerClass</code> and the other on the <code>EnclosingClass</code>) or the InnerInnerClass access the <code>EnclosingClass</code> through the <code>InnerClass</code> ?</p>
