public class org.hamcrest.generator.EasyMock2FactoryWriter implements org.hamcrest.generator.FactoryWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hamcrest.generator.EasyMock2FactoryWriter
  super_class: java.lang.Object
{
  private final java.io.PrintWriter output;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String javaPackageName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String javaClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String indentationString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String newLine;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int indentation;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.io.Writer, java.lang.String, java.lang.String);
    descriptor: (Ljava/io/Writer;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
        start local 1 // java.io.Writer output
        start local 2 // java.lang.String javaPackageName
        start local 3 // java.lang.String javaClassName
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 22
            aload 0 /* this */
            ldc "  "
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.indentationString:Ljava/lang/String;
         2: .line 23
            aload 0 /* this */
            ldc "\n"
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
         3: .line 25
            aload 0 /* this */
            iconst_1
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
         4: .line 28
            aload 0 /* this */
            aload 2 /* javaPackageName */
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.javaPackageName:Ljava/lang/String;
         5: .line 29
            aload 0 /* this */
            aload 3 /* javaClassName */
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.javaClassName:Ljava/lang/String;
         6: .line 30
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            aload 1 /* output */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
         7: .line 31
            return
        end local 3 // java.lang.String javaClassName
        end local 2 // java.lang.String javaPackageName
        end local 1 // java.io.Writer output
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
            0    8     1           output  Ljava/io/Writer;
            0    8     2  javaPackageName  Ljava/lang/String;
            0    8     3    javaClassName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      output           
      javaPackageName  
      javaClassName    

  public void writeHeader();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
         0: .line 35
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc "package "
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.javaPackageName:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            bipush 59
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         1: .line 36
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc "public class "
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.javaClassName:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            ldc " {"
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         2: .line 37
            return
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
    Exceptions:
      throws java.io.IOException

  public void writeFooter();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
         0: .line 41
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            bipush 125
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         1: .line 42
            return
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
         0: .line 46
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.close:()V
         1: .line 47
            return
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
    Exceptions:
      throws java.io.IOException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
         0: .line 51
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
         1: .line 52
            return
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
    Exceptions:
      throws java.io.IOException

  public void writeMethod(java.lang.String, org.hamcrest.generator.FactoryMethod);
    descriptor: (Ljava/lang/String;Lorg/hamcrest/generator/FactoryMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
        start local 1 // java.lang.String generatedMethodName
        start local 2 // org.hamcrest.generator.FactoryMethod factoryMethodToDelegateTo
         0: .line 57
            aload 0 /* this */
            aload 2 /* factoryMethodToDelegateTo */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.writeJavaDoc:(Lorg/hamcrest/generator/FactoryMethod;)V
         1: .line 58
            aload 0 /* this */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.indent:()V
         2: .line 59
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc "public static "
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         3: .line 61
            aload 2 /* factoryMethodToDelegateTo */
            invokevirtual org.hamcrest.generator.FactoryMethod.getGenerifiedType:()Ljava/lang/String;
            astore 3 /* returnType */
        start local 3 // java.lang.String returnType
         4: .line 62
            aload 3 /* returnType */
            ifnonnull 6
         5: .line 63
            ldc "java.lang.Object"
            astore 3 /* returnType */
         6: .line 65
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            aload 3 /* returnType */
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         7: .line 66
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            bipush 32
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            aload 1 /* generatedMethodName */
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         8: .line 67
            aload 0 /* this */
            aload 2 /* factoryMethodToDelegateTo */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.writeParameters:(Lorg/hamcrest/generator/FactoryMethod;)V
         9: .line 68
            aload 0 /* this */
            aload 2 /* factoryMethodToDelegateTo */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.writeExceptions:(Lorg/hamcrest/generator/FactoryMethod;)V
        10: .line 69
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc " {"
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        11: .line 70
            aload 0 /* this */
            dup
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
            iconst_1
            iadd
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
        12: .line 71
            aload 0 /* this */
            aload 2 /* factoryMethodToDelegateTo */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.writeMethodBody:(Lorg/hamcrest/generator/FactoryMethod;)V
        13: .line 72
            aload 0 /* this */
            dup
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
            iconst_1
            isub
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
        14: .line 73
            aload 0 /* this */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.indent:()V
        15: .line 74
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            bipush 125
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        16: .line 75
            return
        end local 3 // java.lang.String returnType
        end local 2 // org.hamcrest.generator.FactoryMethod factoryMethodToDelegateTo
        end local 1 // java.lang.String generatedMethodName
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   17     0                       this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
            0   17     1        generatedMethodName  Ljava/lang/String;
            0   17     2  factoryMethodToDelegateTo  Lorg/hamcrest/generator/FactoryMethod;
            4   17     3                 returnType  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                           Name  Flags
      generatedMethodName        
      factoryMethodToDelegateTo  

  private void writeMethodBody(org.hamcrest.generator.FactoryMethod);
    descriptor: (Lorg/hamcrest/generator/FactoryMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
        start local 1 // org.hamcrest.generator.FactoryMethod factoryMethod
         0: .line 78
            aload 0 /* this */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.indent:()V
         1: .line 79
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc "org.hamcrest.integration.EasyMockAdapter.adapt("
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         2: .line 80
            aload 0 /* this */
            dup
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
            iconst_1
            iadd
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
         3: .line 81
            aload 0 /* this */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.indent:()V
         4: .line 82
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            aload 1 /* factoryMethod */
            invokevirtual org.hamcrest.generator.FactoryMethod.getMatcherClass:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         5: .line 83
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            bipush 46
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            aload 1 /* factoryMethod */
            invokevirtual org.hamcrest.generator.FactoryMethod.getName:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         6: .line 84
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            bipush 40
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            pop
         7: .line 85
            iconst_0
            istore 2 /* seenFirst */
        start local 2 // boolean seenFirst
         8: .line 86
            aload 1 /* factoryMethod */
            invokevirtual org.hamcrest.generator.FactoryMethod.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hamcrest.generator.FactoryMethod$Parameter
            astore 3 /* parameter */
        start local 3 // org.hamcrest.generator.FactoryMethod$Parameter parameter
        10: .line 87
            iload 2 /* seenFirst */
            ifeq 13
        11: .line 88
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc ", "
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        12: .line 89
            goto 14
        13: .line 90
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int org.hamcrest.generator.FactoryMethod$Parameter java.util.Iterator
      StackMap stack:
            iconst_1
            istore 2 /* seenFirst */
        14: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            aload 3 /* parameter */
            invokevirtual org.hamcrest.generator.FactoryMethod$Parameter.getName:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        end local 3 // org.hamcrest.generator.FactoryMethod$Parameter parameter
        15: .line 86
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        16: .line 94
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc "));"
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        17: .line 95
            aload 0 /* this */
            dup
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
            iconst_1
            isub
            putfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
        18: .line 96
            aload 0 /* this */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.indent:()V
        19: .line 97
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc "return null;"
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        20: .line 98
            return
        end local 2 // boolean seenFirst
        end local 1 // org.hamcrest.generator.FactoryMethod factoryMethod
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
            0   21     1  factoryMethod  Lorg/hamcrest/generator/FactoryMethod;
            8   21     2      seenFirst  Z
           10   15     3      parameter  Lorg/hamcrest/generator/FactoryMethod$Parameter;
    MethodParameters:
               Name  Flags
      factoryMethod  

  private void writeExceptions(org.hamcrest.generator.FactoryMethod);
    descriptor: (Lorg/hamcrest/generator/FactoryMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
        start local 1 // org.hamcrest.generator.FactoryMethod factoryMethod
         0: .line 101
            iconst_0
            istore 2 /* seenFirst */
        start local 2 // boolean seenFirst
         1: .line 102
            aload 1 /* factoryMethod */
            invokevirtual org.hamcrest.generator.FactoryMethod.getExceptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* exception */
        start local 3 // java.lang.String exception
         3: .line 103
            iload 2 /* seenFirst */
            ifeq 6
         4: .line 104
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc ", "
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         5: .line 105
            goto 8
         6: .line 106
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int java.lang.String java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc " throws "
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         7: .line 107
            iconst_1
            istore 2 /* seenFirst */
         8: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            aload 3 /* exception */
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        end local 3 // java.lang.String exception
         9: .line 102
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 111
            return
        end local 2 // boolean seenFirst
        end local 1 // org.hamcrest.generator.FactoryMethod factoryMethod
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
            0   11     1  factoryMethod  Lorg/hamcrest/generator/FactoryMethod;
            1   11     2      seenFirst  Z
            3    9     3      exception  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      factoryMethod  

  private void writeParameters(org.hamcrest.generator.FactoryMethod);
    descriptor: (Lorg/hamcrest/generator/FactoryMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
        start local 1 // org.hamcrest.generator.FactoryMethod factoryMethod
         0: .line 114
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            bipush 40
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            pop
         1: .line 115
            iconst_0
            istore 2 /* seenFirst */
        start local 2 // boolean seenFirst
         2: .line 116
            aload 1 /* factoryMethod */
            invokevirtual org.hamcrest.generator.FactoryMethod.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hamcrest.generator.FactoryMethod$Parameter
            astore 3 /* parameter */
        start local 3 // org.hamcrest.generator.FactoryMethod$Parameter parameter
         4: .line 117
            iload 2 /* seenFirst */
            ifeq 7
         5: .line 118
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc ", "
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         6: .line 119
            goto 8
         7: .line 120
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int org.hamcrest.generator.FactoryMethod$Parameter java.util.Iterator
      StackMap stack:
            iconst_1
            istore 2 /* seenFirst */
         8: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            aload 3 /* parameter */
            invokevirtual org.hamcrest.generator.FactoryMethod$Parameter.getType:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            bipush 32
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            aload 3 /* parameter */
            invokevirtual org.hamcrest.generator.FactoryMethod$Parameter.getName:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        end local 3 // org.hamcrest.generator.FactoryMethod$Parameter parameter
         9: .line 116
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 124
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            bipush 41
            invokevirtual java.io.PrintWriter.append:(C)Ljava/io/PrintWriter;
            pop
        11: .line 125
            return
        end local 2 // boolean seenFirst
        end local 1 // org.hamcrest.generator.FactoryMethod factoryMethod
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
            0   12     1  factoryMethod  Lorg/hamcrest/generator/FactoryMethod;
            2   12     2      seenFirst  Z
            4    9     3      parameter  Lorg/hamcrest/generator/FactoryMethod$Parameter;
    MethodParameters:
               Name  Flags
      factoryMethod  

  private void writeJavaDoc(org.hamcrest.generator.FactoryMethod);
    descriptor: (Lorg/hamcrest/generator/FactoryMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
        start local 1 // org.hamcrest.generator.FactoryMethod factoryMethod
         0: .line 128
            aload 1 /* factoryMethod */
            invokevirtual org.hamcrest.generator.FactoryMethod.getJavaDoc:()Ljava/lang/String;
            ifnull 13
         1: .line 129
            aload 1 /* factoryMethod */
            invokevirtual org.hamcrest.generator.FactoryMethod.getJavaDoc:()Ljava/lang/String;
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* lines */
        start local 2 // java.lang.String[] lines
         2: .line 130
            aload 2 /* lines */
            arraylength
            ifle 13
         3: .line 131
            aload 0 /* this */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.indent:()V
         4: .line 132
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc "/**"
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         5: .line 133
            aload 2 /* lines */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         6: aload 6
            iload 4
            aaload
            astore 3 /* line */
        start local 3 // java.lang.String line
         7: .line 134
            aload 0 /* this */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.indent:()V
         8: .line 135
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc " * "
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 3 /* line */
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        end local 3 // java.lang.String line
         9: .line 133
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 6
        11: .line 137
            aload 0 /* this */
            invokevirtual org.hamcrest.generator.EasyMock2FactoryWriter.indent:()V
        12: .line 138
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            ldc " */"
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.newLine:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
        end local 2 // java.lang.String[] lines
        13: .line 141
      StackMap locals: org.hamcrest.generator.EasyMock2FactoryWriter org.hamcrest.generator.FactoryMethod
      StackMap stack:
            return
        end local 1 // org.hamcrest.generator.FactoryMethod factoryMethod
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
            0   14     1  factoryMethod  Lorg/hamcrest/generator/FactoryMethod;
            2   13     2          lines  [Ljava/lang/String;
            7    9     3           line  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      factoryMethod  

  private void indent();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
         0: .line 144
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 145
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.output:Ljava/io/PrintWriter;
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.indentationString:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.append:(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
            pop
         3: .line 144
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* i */
            aload 0 /* this */
            getfield org.hamcrest.generator.EasyMock2FactoryWriter.indentation:I
            if_icmplt 2
        end local 1 // int i
         5: .line 147
            return
        end local 0 // org.hamcrest.generator.EasyMock2FactoryWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hamcrest/generator/EasyMock2FactoryWriter;
            1    5     1     i  I
}
SourceFile: "EasyMock2FactoryWriter.java"
InnerClasses:
  public Parameter = org.hamcrest.generator.FactoryMethod$Parameter of org.hamcrest.generator.FactoryMethod