title: Class<T> not accepting ParameterizedTypeReference
body: <p>I am migrating existing code to a superclass/subclass situation. see below.</p>
  
  <p><strong>METHOD IN PARENT CLASS:</strong></p>
  
  <pre><code>    public &lt;T&gt; ResponseEntity&lt;T&gt; makeRequest(HttpMethod method, String endpoint, HttpEntity&lt;?&gt; request, Class&lt;T&gt; responseType) {
          //DO stuff here
      }
  </code></pre>
  
  <p>In the sub-class there is a call to the makeRequest() above. </p>
  
  <pre><code>    ParameterizedTypeReference&lt;List&lt;MyOtherClass&gt;&gt; typeRef = new ParameterizedTypeReference&lt;List&lt;MyOtherClass&gt;&gt;() {};
      ResponseEntity&lt;List&lt;MyOtherClass&gt;&gt; response = makeRequest(HttpMethod.GET,uriComponents.toUriString(), request, typeRef);
  </code></pre>
  
  <p>But the <strong>last argument</strong> seems to be causing a mismatch in the signature. Eclipse says this.</p>
  
  <p><em>"The method makeRequest(HttpMethod, String, HttpEntity, Class) in the type ParentWS is not applicable for the arguments (HttpMethod, String, HttpEntity, ParameterizedTypeReference>)"</em></p>
  
  <p>I don't understand why, the parent method signature says any class of any type. All other sub-classes are simply calling calling the parent method with <strong>String.class</strong>, like this.</p>
  
  <pre><code>response = makeRequest(HttpMethod.GET, healthCheckUrlEndpoint, request, String.class);
  </code></pre>
  
  <p>But why is <strong>ParameterizedTypeReference>() {}</strong> causing an issue?
  I never worked with ParameterizedTypeReference before, its complete new to me. Please advise.</p>