package java.lang: annotation @A: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) package java.lang: annotation @B: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) package java.lang: annotation @C: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) package java.lang: annotation @D: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) package java.lang: annotation @E: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) package java.lang: annotation @F: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) package java.lang: annotation @G: @Retention(value=RUNTIME) @java.lang.annotation.Target(value={TYPE_USE}) package annotator.tests: class BoundMethodMultiple: method ()V: method foo(Ljava/lang/Object;)V: parameter #0: type: @java.lang.A method foo(Lannotator/tests/Date;)V: bound 0 & 0: @java.lang.B method foo(Ljava/util/List;)V: bound 0 & 0: @java.lang.C bound 0 & 1: @java.lang.D bound 0 & 2: @java.lang.E method foo(Lannotator/tests/Date;Ljava/util/Map;)V: bound 0 & 0: @java.lang.F bound 1 & 1: @java.lang.G