title: Java: How to extract members of annotation
body: <p>How to extract members of Java annotation. E.g. we have following one:</p>
  
  <pre><code>@Retention(RetentionPolicy.RUNTIME)
  public @interface XYZ {
      int min() default 0;
      String name() default "";
      String [] colors();
  }
  </code></pre>
  
  <p>I have a class, methods of which are annotated with XYZ. How do I extract annotation info for each of class methods? Like what I get in brackets when print annotation to the console:</p>
  
  <pre><code>@com.stackoverflow.XYZ(min=0, name=Jack, colors=[red, white, blue])
  </code></pre>
  
  <p>It's important to mention, that I don't know about XYZ prior to runtime. In other words, I'd like to analyze arbitrary class using Reflection in runtime and extract detailed annotation info in runtim, also.</p>