title: Type erasure not working
body: <p>As per the <a href="http://docs.oracle.com/javase/tutorial/java/generics/genTypes.html" rel="nofollow noreferrer">this generics tutorial</a>:</p>
  
  <blockquote>
    <p>During the type erasure process, the Java compiler erases all type
    parameters and replaces each with its first bound if the type
    parameter is bounded, or Object if the type parameter is unbounded.</p>
  </blockquote>
  
  <p>I took the same class as in tutorial and compiled it, and then decompiled it and saw that type parameters are not replaced, so for a moment I thought may be decompilation has re-introduced the type parameters so I used <code>javap</code> and I see below o/p, so clearly type parameters are not replaced.</p>
  
  <pre><code>C:\&gt;javap Node
  Compiled from "Node.java"
  public class Node&lt;T&gt; {
    public Node(T, Node&lt;T&gt;);
    public T getData();
  }
  </code></pre>
  
  <p>Did I understood the type erasure concept incorrectly or I missed something?</p>