public class org.hamcrest.core.AllOf<T> extends org.hamcrest.DiagnosingMatcher<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hamcrest.core.AllOf
  super_class: org.hamcrest.DiagnosingMatcher
{
  private final java.lang.Iterable<org.hamcrest.Matcher<? super T>> matchers;
    descriptor: Ljava/lang/Iterable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Iterable<Lorg/hamcrest/Matcher<-TT;>;>;

  public void <init>(java.lang.Iterable<org.hamcrest.Matcher<? super T>>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hamcrest.core.AllOf this
        start local 1 // java.lang.Iterable matchers
         0: .line 20
            aload 0 /* this */
            invokespecial org.hamcrest.DiagnosingMatcher.<init>:()V
         1: .line 21
            aload 0 /* this */
            aload 1 /* matchers */
            putfield org.hamcrest.core.AllOf.matchers:Ljava/lang/Iterable;
         2: .line 22
            return
        end local 1 // java.lang.Iterable matchers
        end local 0 // org.hamcrest.core.AllOf this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hamcrest/core/AllOf<TT;>;
            0    3     1  matchers  Ljava/lang/Iterable<Lorg/hamcrest/Matcher<-TT;>;>;
    Signature: (Ljava/lang/Iterable<Lorg/hamcrest/Matcher<-TT;>;>;)V
    MethodParameters:
          Name  Flags
      matchers  

  public boolean matches(java.lang.Object, org.hamcrest.Description);
    descriptor: (Ljava/lang/Object;Lorg/hamcrest/Description;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hamcrest.core.AllOf this
        start local 1 // java.lang.Object o
        start local 2 // org.hamcrest.Description mismatch
         0: .line 26
            aload 0 /* this */
            getfield org.hamcrest.core.AllOf.matchers:Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.hamcrest.core.AllOf java.lang.Object org.hamcrest.Description top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hamcrest.Matcher
            astore 3 /* matcher */
        start local 3 // org.hamcrest.Matcher matcher
         2: .line 27
            aload 3 /* matcher */
            aload 1 /* o */
            invokeinterface org.hamcrest.Matcher.matches:(Ljava/lang/Object;)Z
            ifne 6
         3: .line 28
            aload 2 /* mismatch */
            aload 3 /* matcher */
            invokeinterface org.hamcrest.Description.appendDescriptionOf:(Lorg/hamcrest/SelfDescribing;)Lorg/hamcrest/Description;
            ldc " "
            invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
            pop
         4: .line 29
            aload 3 /* matcher */
            aload 1 /* o */
            aload 2 /* mismatch */
            invokeinterface org.hamcrest.Matcher.describeMismatch:(Ljava/lang/Object;Lorg/hamcrest/Description;)V
         5: .line 30
            iconst_0
            ireturn
        end local 3 // org.hamcrest.Matcher matcher
         6: .line 26
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 33
            iconst_1
            ireturn
        end local 2 // org.hamcrest.Description mismatch
        end local 1 // java.lang.Object o
        end local 0 // org.hamcrest.core.AllOf this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/hamcrest/core/AllOf<TT;>;
            0    8     1         o  Ljava/lang/Object;
            0    8     2  mismatch  Lorg/hamcrest/Description;
            2    6     3   matcher  Lorg/hamcrest/Matcher<-TT;>;
    MethodParameters:
          Name  Flags
      o         
      mismatch  

  public void describeTo(org.hamcrest.Description);
    descriptor: (Lorg/hamcrest/Description;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hamcrest.core.AllOf this
        start local 1 // org.hamcrest.Description description
         0: .line 38
            aload 1 /* description */
            ldc "("
            ldc " and "
            ldc ")"
            aload 0 /* this */
            getfield org.hamcrest.core.AllOf.matchers:Ljava/lang/Iterable;
            invokeinterface org.hamcrest.Description.appendList:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Iterable;)Lorg/hamcrest/Description;
            pop
         1: .line 39
            return
        end local 1 // org.hamcrest.Description description
        end local 0 // org.hamcrest.core.AllOf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hamcrest/core/AllOf<TT;>;
            0    2     1  description  Lorg/hamcrest/Description;
    MethodParameters:
             Name  Flags
      description  

  public static <T> org.hamcrest.Matcher<T> allOf(java.lang.Iterable<org.hamcrest.Matcher<? super T>>);
    descriptor: (Ljava/lang/Iterable;)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Iterable matchers
         0: .line 49
            new org.hamcrest.core.AllOf
            dup
            aload 0 /* matchers */
            invokespecial org.hamcrest.core.AllOf.<init>:(Ljava/lang/Iterable;)V
            areturn
        end local 0 // java.lang.Iterable matchers
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  matchers  Ljava/lang/Iterable<Lorg/hamcrest/Matcher<-TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<Lorg/hamcrest/Matcher<-TT;>;>;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
          Name  Flags
      matchers  

  public static <T> org.hamcrest.Matcher<T> allOf(org.hamcrest.Matcher<? super T>[]);
    descriptor: ([Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hamcrest.Matcher[] matchers
         0: .line 60
            aload 0 /* matchers */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.hamcrest.core.AllOf.allOf:(Ljava/lang/Iterable;)Lorg/hamcrest/Matcher;
            areturn
        end local 0 // org.hamcrest.Matcher[] matchers
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  matchers  [Lorg/hamcrest/Matcher;
    Signature: <T:Ljava/lang/Object;>([Lorg/hamcrest/Matcher<-TT;>;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
          Name  Flags
      matchers  

  public static <T> org.hamcrest.Matcher<T> allOf(org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>);
    descriptor: (Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hamcrest.Matcher first
        start local 1 // org.hamcrest.Matcher second
         0: .line 71
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* matchers */
        start local 2 // java.util.List matchers
         1: .line 72
            aload 2 /* matchers */
            aload 0 /* first */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 73
            aload 2 /* matchers */
            aload 1 /* second */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 74
            aload 2 /* matchers */
            invokestatic org.hamcrest.core.AllOf.allOf:(Ljava/lang/Iterable;)Lorg/hamcrest/Matcher;
            areturn
        end local 2 // java.util.List matchers
        end local 1 // org.hamcrest.Matcher second
        end local 0 // org.hamcrest.Matcher first
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0     first  Lorg/hamcrest/Matcher<-TT;>;
            0    4     1    second  Lorg/hamcrest/Matcher<-TT;>;
            1    4     2  matchers  Ljava/util/List<Lorg/hamcrest/Matcher<-TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
        Name  Flags
      first   
      second  

  public static <T> org.hamcrest.Matcher<T> allOf(org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>);
    descriptor: (Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hamcrest.Matcher first
        start local 1 // org.hamcrest.Matcher second
        start local 2 // org.hamcrest.Matcher third
         0: .line 85
            new java.util.ArrayList
            dup
            iconst_3
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* matchers */
        start local 3 // java.util.List matchers
         1: .line 86
            aload 3 /* matchers */
            aload 0 /* first */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 87
            aload 3 /* matchers */
            aload 1 /* second */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 88
            aload 3 /* matchers */
            aload 2 /* third */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 89
            aload 3 /* matchers */
            invokestatic org.hamcrest.core.AllOf.allOf:(Ljava/lang/Iterable;)Lorg/hamcrest/Matcher;
            areturn
        end local 3 // java.util.List matchers
        end local 2 // org.hamcrest.Matcher third
        end local 1 // org.hamcrest.Matcher second
        end local 0 // org.hamcrest.Matcher first
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0     first  Lorg/hamcrest/Matcher<-TT;>;
            0    5     1    second  Lorg/hamcrest/Matcher<-TT;>;
            0    5     2     third  Lorg/hamcrest/Matcher<-TT;>;
            1    5     3  matchers  Ljava/util/List<Lorg/hamcrest/Matcher<-TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
        Name  Flags
      first   
      second  
      third   

  public static <T> org.hamcrest.Matcher<T> allOf(org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>);
    descriptor: (Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.hamcrest.Matcher first
        start local 1 // org.hamcrest.Matcher second
        start local 2 // org.hamcrest.Matcher third
        start local 3 // org.hamcrest.Matcher fourth
         0: .line 100
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* matchers */
        start local 4 // java.util.List matchers
         1: .line 101
            aload 4 /* matchers */
            aload 0 /* first */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 102
            aload 4 /* matchers */
            aload 1 /* second */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 103
            aload 4 /* matchers */
            aload 2 /* third */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 104
            aload 4 /* matchers */
            aload 3 /* fourth */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 105
            aload 4 /* matchers */
            invokestatic org.hamcrest.core.AllOf.allOf:(Ljava/lang/Iterable;)Lorg/hamcrest/Matcher;
            areturn
        end local 4 // java.util.List matchers
        end local 3 // org.hamcrest.Matcher fourth
        end local 2 // org.hamcrest.Matcher third
        end local 1 // org.hamcrest.Matcher second
        end local 0 // org.hamcrest.Matcher first
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0     first  Lorg/hamcrest/Matcher<-TT;>;
            0    6     1    second  Lorg/hamcrest/Matcher<-TT;>;
            0    6     2     third  Lorg/hamcrest/Matcher<-TT;>;
            0    6     3    fourth  Lorg/hamcrest/Matcher<-TT;>;
            1    6     4  matchers  Ljava/util/List<Lorg/hamcrest/Matcher<-TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
        Name  Flags
      first   
      second  
      third   
      fourth  

  public static <T> org.hamcrest.Matcher<T> allOf(org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>);
    descriptor: (Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.hamcrest.Matcher first
        start local 1 // org.hamcrest.Matcher second
        start local 2 // org.hamcrest.Matcher third
        start local 3 // org.hamcrest.Matcher fourth
        start local 4 // org.hamcrest.Matcher fifth
         0: .line 116
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* matchers */
        start local 5 // java.util.List matchers
         1: .line 117
            aload 5 /* matchers */
            aload 0 /* first */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 118
            aload 5 /* matchers */
            aload 1 /* second */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 119
            aload 5 /* matchers */
            aload 2 /* third */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 120
            aload 5 /* matchers */
            aload 3 /* fourth */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 121
            aload 5 /* matchers */
            aload 4 /* fifth */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 122
            aload 5 /* matchers */
            invokestatic org.hamcrest.core.AllOf.allOf:(Ljava/lang/Iterable;)Lorg/hamcrest/Matcher;
            areturn
        end local 5 // java.util.List matchers
        end local 4 // org.hamcrest.Matcher fifth
        end local 3 // org.hamcrest.Matcher fourth
        end local 2 // org.hamcrest.Matcher third
        end local 1 // org.hamcrest.Matcher second
        end local 0 // org.hamcrest.Matcher first
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0     first  Lorg/hamcrest/Matcher<-TT;>;
            0    7     1    second  Lorg/hamcrest/Matcher<-TT;>;
            0    7     2     third  Lorg/hamcrest/Matcher<-TT;>;
            0    7     3    fourth  Lorg/hamcrest/Matcher<-TT;>;
            0    7     4     fifth  Lorg/hamcrest/Matcher<-TT;>;
            1    7     5  matchers  Ljava/util/List<Lorg/hamcrest/Matcher<-TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
        Name  Flags
      first   
      second  
      third   
      fourth  
      fifth   

  public static <T> org.hamcrest.Matcher<T> allOf(org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>, org.hamcrest.Matcher<? super T>);
    descriptor: (Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // org.hamcrest.Matcher first
        start local 1 // org.hamcrest.Matcher second
        start local 2 // org.hamcrest.Matcher third
        start local 3 // org.hamcrest.Matcher fourth
        start local 4 // org.hamcrest.Matcher fifth
        start local 5 // org.hamcrest.Matcher sixth
         0: .line 133
            new java.util.ArrayList
            dup
            bipush 6
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 6 /* matchers */
        start local 6 // java.util.List matchers
         1: .line 134
            aload 6 /* matchers */
            aload 0 /* first */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 135
            aload 6 /* matchers */
            aload 1 /* second */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 136
            aload 6 /* matchers */
            aload 2 /* third */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 137
            aload 6 /* matchers */
            aload 3 /* fourth */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 138
            aload 6 /* matchers */
            aload 4 /* fifth */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 139
            aload 6 /* matchers */
            aload 5 /* sixth */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 140
            aload 6 /* matchers */
            invokestatic org.hamcrest.core.AllOf.allOf:(Ljava/lang/Iterable;)Lorg/hamcrest/Matcher;
            areturn
        end local 6 // java.util.List matchers
        end local 5 // org.hamcrest.Matcher sixth
        end local 4 // org.hamcrest.Matcher fifth
        end local 3 // org.hamcrest.Matcher fourth
        end local 2 // org.hamcrest.Matcher third
        end local 1 // org.hamcrest.Matcher second
        end local 0 // org.hamcrest.Matcher first
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0     first  Lorg/hamcrest/Matcher<-TT;>;
            0    8     1    second  Lorg/hamcrest/Matcher<-TT;>;
            0    8     2     third  Lorg/hamcrest/Matcher<-TT;>;
            0    8     3    fourth  Lorg/hamcrest/Matcher<-TT;>;
            0    8     4     fifth  Lorg/hamcrest/Matcher<-TT;>;
            0    8     5     sixth  Lorg/hamcrest/Matcher<-TT;>;
            1    8     6  matchers  Ljava/util/List<Lorg/hamcrest/Matcher<-TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;Lorg/hamcrest/Matcher<-TT;>;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
        Name  Flags
      first   
      second  
      third   
      fourth  
      fifth   
      sixth   
}
Signature: <T:Ljava/lang/Object;>Lorg/hamcrest/DiagnosingMatcher<TT;>;
SourceFile: "AllOf.java"