title: Retrieve annotated and concrete methods in class
body: <p>I have 1 interface, 1 abstract class and 1 concrete class. The annotation <code>@Handler</code> is used in two methods in the interface and abstract class:</p>
  
  <pre class="lang-java prettyprint-override"><code>public interface A&lt;T&gt; {
      @Handler
      void a(T data);
  }
  
  public abstract class B&lt;V&gt; implements A&lt;Integer&gt; {
      @Override
      void a(Integer data) {
          // implementation
      }
  
      @Handler
      public abstract void b(V data);
  }
  
  public class C extends B&lt;String&gt; {
      @Override
      void b(String data) {
          // implementation
      }
  }
  </code></pre>
  
  <p>I'd like to retrieve all concrete methods that are decorated with <code>@Handler</code> from the concrete class <code>C</code> (including those from superclasses) along with their parameters, i.e.</p>
  
  <pre><code>B.a(java.lang.Integer)
  C.b(java.lang.String)
  </code></pre>
  
  <p>I tried using Apache Commons Lang's <code>MethodUtils.getMethodsListWithAnnotation()</code>, but it could only find the abstract methods (where the annotations are actually placed), without parameters' info:</p>
  
  <pre><code>A.a(java.lang.Object) 
  B.b(java.lang.Object)
  </code></pre>
  
  <p>Is it possible to retrieve the concrete methods along with their parameter types from the abstract ones?</p>