title: How to refer to a class when both simple and fully-qualified names clash
body: <p>Consider the following pathological example:</p>
  
  <pre><code>class Ideone {
    static class ArrayList&lt;T&gt; {
      ArrayList() {
        System.out.println("!!");
      }
    }
  
    static class java {
      static class util {
        static class ArrayList&lt;T&gt; {
          ArrayList() {
            System.out.println("Here");
          }
        }
      }
    }
  
    public static void main(String[] args) {
      new ArrayList&lt;&gt;();
      new java.util.ArrayList&lt;&gt;();
      // Can I refer to the "usual" java.util.ArrayList?
    }
  }
  </code></pre>
  
  <p>The two instances created in the constructor are of the nested classes.</p>
  
  <p>But how might I refer to the <a href="https://docs.oracle.com/javase/9/docs/api/java/util/ArrayList.html" rel="noreferrer"><code>java.util.ArrayList</code></a> that we all know and love in the same class? We can't import it, and we can't use the fully-qualified name, as the nested class symbols would be used instead.</p>
  
  <p>What can we do in this case? (Other than the obvious - stop using such wantonly evil names for the nested classes).</p>