Why doesn't Java allow to define two methods with the same signature except the generic type parameters?
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/1998544/method-has-the-same-erasure-as-another-method-in-type">Method has the same erasure as another method in type</a>  </p>
</blockquote>



<p>In one of my classes I wanted to define these two methods:</p>

<pre><code>private void add(List&lt;ChangeSet&gt; changeSetList) {
    for (ChangeSet changeSet : changeSetList) {
        add(changeSet);
    }
}

private void add(List&lt;Change&gt; changeList) {
    for (Change change : changeList) {
        add(change);
    }
}
</code></pre>

<p>Then I get the following error: </p>

<pre><code>Method add(List&lt;Change&gt;) has the same erasure add(List&lt;E&gt;) as another method in type DataRetriever
</code></pre>

<p>Why isn´t this allowed? What is the problem with method definitions like that? And what should I do to avoid it? I don´t want to rename one of the methods.</p>
