public class com.googlecode.lanterna.screen.ScreenBuffer implements com.googlecode.lanterna.graphics.TextImage
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.screen.ScreenBuffer
  super_class: java.lang.Object
{
  private final com.googlecode.lanterna.graphics.BasicTextImage backend;
    descriptor: Lcom/googlecode/lanterna/graphics/BasicTextImage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(com.googlecode.lanterna.TerminalSize, com.googlecode.lanterna.TextCharacter);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TextCharacter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.TerminalSize size
        start local 2 // com.googlecode.lanterna.TextCharacter filler
         0: .line 43
            aload 0 /* this */
            new com.googlecode.lanterna.graphics.BasicTextImage
            dup
            aload 1 /* size */
            aload 2 /* filler */
            invokespecial com.googlecode.lanterna.graphics.BasicTextImage.<init>:(Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TextCharacter;)V
            invokespecial com.googlecode.lanterna.screen.ScreenBuffer.<init>:(Lcom/googlecode/lanterna/graphics/BasicTextImage;)V
         1: .line 44
            return
        end local 2 // com.googlecode.lanterna.TextCharacter filler
        end local 1 // com.googlecode.lanterna.TerminalSize size
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    2     1    size  Lcom/googlecode/lanterna/TerminalSize;
            0    2     2  filler  Lcom/googlecode/lanterna/TextCharacter;
    MethodParameters:
        Name  Flags
      size    
      filler  

  private void <init>(com.googlecode.lanterna.graphics.BasicTextImage);
    descriptor: (Lcom/googlecode/lanterna/graphics/BasicTextImage;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.graphics.BasicTextImage backend
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            aload 1 /* backend */
            putfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
         2: .line 48
            return
        end local 1 // com.googlecode.lanterna.graphics.BasicTextImage backend
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    3     1  backend  Lcom/googlecode/lanterna/graphics/BasicTextImage;
    MethodParameters:
         Name  Flags
      backend  

  public com.googlecode.lanterna.screen.ScreenBuffer resize(com.googlecode.lanterna.TerminalSize, com.googlecode.lanterna.TextCharacter);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TextCharacter;)Lcom/googlecode/lanterna/screen/ScreenBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.TerminalSize newSize
        start local 2 // com.googlecode.lanterna.TextCharacter filler
         0: .line 52
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            aload 1 /* newSize */
            aload 2 /* filler */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.resize:(Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TextCharacter;)Lcom/googlecode/lanterna/graphics/BasicTextImage;
            astore 3 /* resizedBackend */
        start local 3 // com.googlecode.lanterna.graphics.BasicTextImage resizedBackend
         1: .line 53
            new com.googlecode.lanterna.screen.ScreenBuffer
            dup
            aload 3 /* resizedBackend */
            invokespecial com.googlecode.lanterna.screen.ScreenBuffer.<init>:(Lcom/googlecode/lanterna/graphics/BasicTextImage;)V
            areturn
        end local 3 // com.googlecode.lanterna.graphics.BasicTextImage resizedBackend
        end local 2 // com.googlecode.lanterna.TextCharacter filler
        end local 1 // com.googlecode.lanterna.TerminalSize newSize
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    2     1         newSize  Lcom/googlecode/lanterna/TerminalSize;
            0    2     2          filler  Lcom/googlecode/lanterna/TextCharacter;
            1    2     3  resizedBackend  Lcom/googlecode/lanterna/graphics/BasicTextImage;
    MethodParameters:
         Name  Flags
      newSize  
      filler   

  boolean isVeryDifferent(com.googlecode.lanterna.screen.ScreenBuffer, int);
    descriptor: (Lcom/googlecode/lanterna/screen/ScreenBuffer;I)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.screen.ScreenBuffer other
        start local 2 // int threshold
         0: .line 57
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            aload 1 /* other */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 58
            new java.lang.IllegalArgumentException
            dup
            ldc "Can only call isVeryDifferent comparing two ScreenBuffers of the same size! This is probably a bug in Lanterna."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 61
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* differences */
        start local 3 // int differences
         3: .line 62
            iconst_0
            istore 4 /* y */
        start local 4 // int y
         4: goto 13
         5: .line 63
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* x */
        start local 5 // int x
         6: goto 11
         7: .line 64
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* x */
            iload 4 /* y */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getCharacterAt:(II)Lcom/googlecode/lanterna/TextCharacter;
            aload 1 /* other */
            iload 5 /* x */
            iload 4 /* y */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getCharacterAt:(II)Lcom/googlecode/lanterna/TextCharacter;
            invokevirtual com.googlecode.lanterna.TextCharacter.equals:(Ljava/lang/Object;)Z
            ifne 10
         8: .line 65
            iinc 3 /* differences */ 1
            iload 3 /* differences */
            iload 2 /* threshold */
            if_icmplt 10
         9: .line 66
            iconst_1
            ireturn
        10: .line 63
      StackMap locals:
      StackMap stack:
            iinc 5 /* x */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* x */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            if_icmplt 7
        end local 5 // int x
        12: .line 62
            iinc 4 /* y */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* y */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            if_icmplt 5
        end local 4 // int y
        14: .line 71
            iconst_0
            ireturn
        end local 3 // int differences
        end local 2 // int threshold
        end local 1 // com.googlecode.lanterna.screen.ScreenBuffer other
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0   15     1        other  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0   15     2    threshold  I
            3   15     3  differences  I
            4   14     4            y  I
            6   12     5            x  I
    MethodParameters:
           Name  Flags
      other      
      threshold  

  public com.googlecode.lanterna.TerminalSize getSize();
    descriptor: ()Lcom/googlecode/lanterna/TerminalSize;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
         0: .line 78
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            areturn
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/screen/ScreenBuffer;

  public com.googlecode.lanterna.TextCharacter getCharacterAt(com.googlecode.lanterna.TerminalPosition);
    descriptor: (Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TextCharacter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.TerminalPosition position
         0: .line 83
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            aload 1 /* position */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.getCharacterAt:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TextCharacter;
            areturn
        end local 1 // com.googlecode.lanterna.TerminalPosition position
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    1     1  position  Lcom/googlecode/lanterna/TerminalPosition;
    MethodParameters:
          Name  Flags
      position  

  public com.googlecode.lanterna.TextCharacter getCharacterAt(int, int);
    descriptor: (II)Lcom/googlecode/lanterna/TextCharacter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // int column
        start local 2 // int row
         0: .line 88
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            iload 1 /* column */
            iload 2 /* row */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.getCharacterAt:(II)Lcom/googlecode/lanterna/TextCharacter;
            areturn
        end local 2 // int row
        end local 1 // int column
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    1     1  column  I
            0    1     2     row  I
    MethodParameters:
        Name  Flags
      column  
      row     

  public void setCharacterAt(com.googlecode.lanterna.TerminalPosition, com.googlecode.lanterna.TextCharacter);
    descriptor: (Lcom/googlecode/lanterna/TerminalPosition;Lcom/googlecode/lanterna/TextCharacter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.TerminalPosition position
        start local 2 // com.googlecode.lanterna.TextCharacter character
         0: .line 93
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            aload 1 /* position */
            aload 2 /* character */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.setCharacterAt:(Lcom/googlecode/lanterna/TerminalPosition;Lcom/googlecode/lanterna/TextCharacter;)V
         1: .line 94
            return
        end local 2 // com.googlecode.lanterna.TextCharacter character
        end local 1 // com.googlecode.lanterna.TerminalPosition position
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    2     1   position  Lcom/googlecode/lanterna/TerminalPosition;
            0    2     2  character  Lcom/googlecode/lanterna/TextCharacter;
    MethodParameters:
           Name  Flags
      position   
      character  

  public void setCharacterAt(int, int, com.googlecode.lanterna.TextCharacter);
    descriptor: (IILcom/googlecode/lanterna/TextCharacter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // int column
        start local 2 // int row
        start local 3 // com.googlecode.lanterna.TextCharacter character
         0: .line 98
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            iload 1 /* column */
            iload 2 /* row */
            aload 3 /* character */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.setCharacterAt:(IILcom/googlecode/lanterna/TextCharacter;)V
         1: .line 99
            return
        end local 3 // com.googlecode.lanterna.TextCharacter character
        end local 2 // int row
        end local 1 // int column
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    2     1     column  I
            0    2     2        row  I
            0    2     3  character  Lcom/googlecode/lanterna/TextCharacter;
    MethodParameters:
           Name  Flags
      column     
      row        
      character  

  public void setAll(com.googlecode.lanterna.TextCharacter);
    descriptor: (Lcom/googlecode/lanterna/TextCharacter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.TextCharacter character
         0: .line 103
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            aload 1 /* character */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.setAll:(Lcom/googlecode/lanterna/TextCharacter;)V
         1: .line 104
            return
        end local 1 // com.googlecode.lanterna.TextCharacter character
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    2     1  character  Lcom/googlecode/lanterna/TextCharacter;
    MethodParameters:
           Name  Flags
      character  

  public com.googlecode.lanterna.graphics.TextGraphics newTextGraphics();
    descriptor: ()Lcom/googlecode/lanterna/graphics/TextGraphics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
         0: .line 108
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.newTextGraphics:()Lcom/googlecode/lanterna/graphics/TextGraphics;
            areturn
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/screen/ScreenBuffer;

  public void copyTo(com.googlecode.lanterna.graphics.TextImage);
    descriptor: (Lcom/googlecode/lanterna/graphics/TextImage;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.graphics.TextImage destination
         0: .line 113
            aload 1 /* destination */
            instanceof com.googlecode.lanterna.screen.ScreenBuffer
            ifeq 2
         1: .line 115
            aload 1 /* destination */
            checkcast com.googlecode.lanterna.screen.ScreenBuffer
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            astore 1 /* destination */
         2: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            aload 1 /* destination */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.copyTo:(Lcom/googlecode/lanterna/graphics/TextImage;)V
         3: .line 118
            return
        end local 1 // com.googlecode.lanterna.graphics.TextImage destination
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    4     1  destination  Lcom/googlecode/lanterna/graphics/TextImage;
    MethodParameters:
             Name  Flags
      destination  

  public void copyTo(com.googlecode.lanterna.graphics.TextImage, int, int, int, int, int, int);
    descriptor: (Lcom/googlecode/lanterna/graphics/TextImage;IIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.graphics.TextImage destination
        start local 2 // int startRowIndex
        start local 3 // int rows
        start local 4 // int startColumnIndex
        start local 5 // int columns
        start local 6 // int destinationRowOffset
        start local 7 // int destinationColumnOffset
         0: .line 122
            aload 1 /* destination */
            instanceof com.googlecode.lanterna.screen.ScreenBuffer
            ifeq 2
         1: .line 124
            aload 1 /* destination */
            checkcast com.googlecode.lanterna.screen.ScreenBuffer
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            astore 1 /* destination */
         2: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            aload 1 /* destination */
            iload 2 /* startRowIndex */
            iload 3 /* rows */
            iload 4 /* startColumnIndex */
            iload 5 /* columns */
            iload 6 /* destinationRowOffset */
            iload 7 /* destinationColumnOffset */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.copyTo:(Lcom/googlecode/lanterna/graphics/TextImage;IIIIII)V
         3: .line 127
            return
        end local 7 // int destinationColumnOffset
        end local 6 // int destinationRowOffset
        end local 5 // int columns
        end local 4 // int startColumnIndex
        end local 3 // int rows
        end local 2 // int startRowIndex
        end local 1 // com.googlecode.lanterna.graphics.TextImage destination
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    4     0                     this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    4     1              destination  Lcom/googlecode/lanterna/graphics/TextImage;
            0    4     2            startRowIndex  I
            0    4     3                     rows  I
            0    4     4         startColumnIndex  I
            0    4     5                  columns  I
            0    4     6     destinationRowOffset  I
            0    4     7  destinationColumnOffset  I
    MethodParameters:
                         Name  Flags
      destination              
      startRowIndex            
      rows                     
      startColumnIndex         
      columns                  
      destinationRowOffset     
      destinationColumnOffset  

  public void copyFrom(com.googlecode.lanterna.graphics.TextImage, int, int, int, int, int, int);
    descriptor: (Lcom/googlecode/lanterna/graphics/TextImage;IIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // com.googlecode.lanterna.graphics.TextImage source
        start local 2 // int startRowIndex
        start local 3 // int rows
        start local 4 // int startColumnIndex
        start local 5 // int columns
        start local 6 // int destinationRowOffset
        start local 7 // int destinationColumnOffset
         0: .line 140
            aload 1 /* source */
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            iload 2 /* startRowIndex */
            iload 3 /* rows */
            iload 4 /* startColumnIndex */
            iload 5 /* columns */
            iload 6 /* destinationRowOffset */
            iload 7 /* destinationColumnOffset */
            invokeinterface com.googlecode.lanterna.graphics.TextImage.copyTo:(Lcom/googlecode/lanterna/graphics/TextImage;IIIIII)V
         1: .line 141
            return
        end local 7 // int destinationColumnOffset
        end local 6 // int destinationRowOffset
        end local 5 // int columns
        end local 4 // int startColumnIndex
        end local 3 // int rows
        end local 2 // int startRowIndex
        end local 1 // com.googlecode.lanterna.graphics.TextImage source
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    2     1                   source  Lcom/googlecode/lanterna/graphics/TextImage;
            0    2     2            startRowIndex  I
            0    2     3                     rows  I
            0    2     4         startColumnIndex  I
            0    2     5                  columns  I
            0    2     6     destinationRowOffset  I
            0    2     7  destinationColumnOffset  I
    MethodParameters:
                         Name  Flags
      source                   
      startRowIndex            
      rows                     
      startColumnIndex         
      columns                  
      destinationRowOffset     
      destinationColumnOffset  

  public void scrollLines(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
        start local 1 // int firstLine
        start local 2 // int lastLine
        start local 3 // int distance
         0: .line 145
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            iload 1 /* firstLine */
            iload 2 /* lastLine */
            iload 3 /* distance */
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.scrollLines:(III)V
         1: .line 146
            return
        end local 3 // int distance
        end local 2 // int lastLine
        end local 1 // int firstLine
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/googlecode/lanterna/screen/ScreenBuffer;
            0    2     1  firstLine  I
            0    2     2   lastLine  I
            0    2     3   distance  I
    MethodParameters:
           Name  Flags
      firstLine  
      lastLine   
      distance   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
         0: .line 150
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.ScreenBuffer.backend:Lcom/googlecode/lanterna/graphics/BasicTextImage;
            invokevirtual com.googlecode.lanterna.graphics.BasicTextImage.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.googlecode.lanterna.screen.ScreenBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/screen/ScreenBuffer;

  public com.googlecode.lanterna.graphics.TextImage resize(com.googlecode.lanterna.TerminalSize, com.googlecode.lanterna.TextCharacter);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TextCharacter;)Lcom/googlecode/lanterna/graphics/TextImage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.resize:(Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TextCharacter;)Lcom/googlecode/lanterna/screen/ScreenBuffer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ScreenBuffer.java"