title: cannot infer type-variable(s) while implementing a generic class
body: <p>I've defined the following class:</p>
  
  <pre><code>public class AttributeVisitor extends SimpleAnnotationValueVisitor8&lt;Object, Object&gt; {
  
      public AttributeVisitor() {
          super();
      }
  
      public AttributeVisitor(Object defaultValue) {
          super(defaultValue);
      }
  
      @Override
      public Object visitEnumConstant(VariableElement c, Object attribute) {
          return super.visitEnumConstant(c, attribute);
      }
  }
  </code></pre>
  
  <p>I'm trying to use it in the following snipped</p>
  
  <pre><code>for(Map.Entry&lt;? extends ExecutableElement, ? extends AnnotationValue&gt; mirrorValues: annotationMirror.getElementValues().entrySet()){
      mirrorValues.getValue().accept(new AttributeVisitor());
  }
  </code></pre>
  
  <p>On compiling, I'm getting the following error:</p>
  
  <pre><code>method accept in interface javax.lang.model.element.AnnotationValue cannot be applied to given types;
  [ERROR] required: javax.lang.model.element.AnnotationValueVisitor&lt;R,P&gt;,P
  [ERROR] found: com.cvent.analytics.validator.AttributeVisitor
  [ERROR] reason: cannot infer type-variable(s) R,P
  [ERROR] (actual and formal argument lists differ in length)
  </code></pre>
  
  <p>Any idea, what's wrong here?</p>