public class org.apache.batik.bridge.ConcreteTextSelector implements org.apache.batik.gvt.Selector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.bridge.ConcreteTextSelector
  super_class: java.lang.Object
{
  private java.util.ArrayList listeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.GraphicsNode selectionNode;
    descriptor: Lorg/apache/batik/gvt/GraphicsNode;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.batik.gvt.RootGraphicsNode selectionNodeRoot;
    descriptor: Lorg/apache/batik/gvt/RootGraphicsNode;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            return
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;

  public void mouseClicked(org.apache.batik.gvt.event.GraphicsNodeMouseEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
         0: .line 54
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.checkSelectGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)V
         1: .line 55
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void mouseDragged(org.apache.batik.gvt.event.GraphicsNodeMouseEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
         0: .line 58
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.checkSelectGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)V
         1: .line 59
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void mouseEntered(org.apache.batik.gvt.event.GraphicsNodeMouseEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
         0: .line 62
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.checkSelectGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)V
         1: .line 63
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void mouseExited(org.apache.batik.gvt.event.GraphicsNodeMouseEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
         0: .line 66
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.checkSelectGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)V
         1: .line 67
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void mouseMoved(org.apache.batik.gvt.event.GraphicsNodeMouseEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
         0: .line 70
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    1     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void mousePressed(org.apache.batik.gvt.event.GraphicsNodeMouseEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
         0: .line 73
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.checkSelectGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)V
         1: .line 74
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void mouseReleased(org.apache.batik.gvt.event.GraphicsNodeMouseEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
         0: .line 77
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.checkSelectGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)V
         1: .line 78
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void keyPressed(org.apache.batik.gvt.event.GraphicsNodeKeyEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeKeyEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeKeyEvent evt
         0: .line 81
            aload 0 /* this */
            aload 1 /* evt */
            ldc "keyPressed"
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.report:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;Ljava/lang/String;)V
         1: .line 82
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeKeyEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeKeyEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void keyReleased(org.apache.batik.gvt.event.GraphicsNodeKeyEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeKeyEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeKeyEvent evt
         0: .line 85
            aload 0 /* this */
            aload 1 /* evt */
            ldc "keyReleased"
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.report:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;Ljava/lang/String;)V
         1: .line 86
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeKeyEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeKeyEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void keyTyped(org.apache.batik.gvt.event.GraphicsNodeKeyEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeKeyEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeKeyEvent evt
         0: .line 89
            aload 0 /* this */
            aload 1 /* evt */
            ldc "keyTyped"
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.report:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;Ljava/lang/String;)V
         1: .line 90
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeKeyEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeKeyEvent;
    MethodParameters:
      Name  Flags
      evt   

  public void changeStarted(org.apache.batik.gvt.event.GraphicsNodeChangeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeChangeEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeChangeEvent gnce
         0: .line 93
            return
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeChangeEvent gnce
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    1     1  gnce  Lorg/apache/batik/gvt/event/GraphicsNodeChangeEvent;
    MethodParameters:
      Name  Flags
      gnce  

  public void changeCompleted(org.apache.batik.gvt.event.GraphicsNodeChangeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeChangeEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeChangeEvent gnce
         0: .line 96
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            ifnonnull 2
         1: .line 97
            return
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            checkcast org.apache.batik.gvt.Selectable
            invokeinterface org.apache.batik.gvt.Selectable.getHighlightShape:()Ljava/awt/Shape;
         3: .line 99
            astore 2 /* newShape */
        start local 2 // java.awt.Shape newShape
         4: .line 101
            aload 0 /* this */
         5: .line 102
            new org.apache.batik.gvt.event.SelectionEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.getSelection:()Ljava/lang/Object;
         6: .line 103
            iconst_1
         7: .line 104
            aload 2 /* newShape */
         8: .line 102
            invokespecial org.apache.batik.gvt.event.SelectionEvent.<init>:(Ljava/lang/Object;ILjava/awt/Shape;)V
         9: .line 101
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.dispatchSelectionEvent:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
        10: .line 105
            return
        end local 2 // java.awt.Shape newShape
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeChangeEvent gnce
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0   11     1      gnce  Lorg/apache/batik/gvt/event/GraphicsNodeChangeEvent;
            4   11     2  newShape  Ljava/awt/Shape;
    MethodParameters:
      Name  Flags
      gnce  

  public void setSelection(org.apache.batik.bridge.Mark, org.apache.batik.bridge.Mark);
    descriptor: (Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.bridge.Mark begin
        start local 2 // org.apache.batik.bridge.Mark end
         0: .line 108
            aload 1 /* begin */
            invokeinterface org.apache.batik.bridge.Mark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
            astore 3 /* node */
        start local 3 // org.apache.batik.bridge.TextNode node
         1: .line 109
            aload 3 /* node */
            aload 2 /* end */
            invokeinterface org.apache.batik.bridge.Mark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
            if_acmpeq 3
         2: .line 110
            new java.lang.RuntimeException
            dup
            ldc "Markers not from same TextNode"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 112
      StackMap locals: org.apache.batik.bridge.TextNode
      StackMap stack:
            aload 3 /* node */
            aload 1 /* begin */
            aload 2 /* end */
            invokevirtual org.apache.batik.bridge.TextNode.setSelection:(Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)V
         4: .line 113
            aload 0 /* this */
            aload 3 /* node */
            putfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
         5: .line 114
            aload 0 /* this */
            aload 3 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getRoot:()Lorg/apache/batik/gvt/RootGraphicsNode;
            putfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
         6: .line 115
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.getSelection:()Ljava/lang/Object;
            astore 4 /* selection */
        start local 4 // java.lang.Object selection
         7: .line 116
            aload 3 /* node */
            invokevirtual org.apache.batik.bridge.TextNode.getHighlightShape:()Ljava/awt/Shape;
            astore 5 /* shape */
        start local 5 // java.awt.Shape shape
         8: .line 117
            aload 0 /* this */
            new org.apache.batik.gvt.event.SelectionEvent
            dup
         9: .line 118
            aload 4 /* selection */
            iconst_2
            aload 5 /* shape */
            invokespecial org.apache.batik.gvt.event.SelectionEvent.<init>:(Ljava/lang/Object;ILjava/awt/Shape;)V
        10: .line 117
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.dispatchSelectionEvent:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
        11: .line 119
            return
        end local 5 // java.awt.Shape shape
        end local 4 // java.lang.Object selection
        end local 3 // org.apache.batik.bridge.TextNode node
        end local 2 // org.apache.batik.bridge.Mark end
        end local 1 // org.apache.batik.bridge.Mark begin
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0   12     1      begin  Lorg/apache/batik/bridge/Mark;
            0   12     2        end  Lorg/apache/batik/bridge/Mark;
            1   12     3       node  Lorg/apache/batik/bridge/TextNode;
            7   12     4  selection  Ljava/lang/Object;
            8   12     5      shape  Ljava/awt/Shape;
    MethodParameters:
       Name  Flags
      begin  
      end    

  public void clearSelection();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
         0: .line 122
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            ifnonnull 2
         1: .line 123
            return
         2: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.batik.gvt.event.SelectionEvent
            dup
         3: .line 126
            aconst_null
            iconst_3
            aconst_null
            invokespecial org.apache.batik.gvt.event.SelectionEvent.<init>:(Ljava/lang/Object;ILjava/awt/Shape;)V
         4: .line 125
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.dispatchSelectionEvent:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
         5: .line 127
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
         6: .line 128
            aload 0 /* this */
            aconst_null
            putfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
         7: .line 129
            return
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;

  protected void checkSelectGesture(org.apache.batik.gvt.event.GraphicsNodeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
         0: .line 140
            aconst_null
            astore 2 /* mevt */
        start local 2 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent mevt
         1: .line 141
            aload 1 /* evt */
            instanceof org.apache.batik.gvt.event.GraphicsNodeMouseEvent
            ifeq 3
         2: .line 142
            aload 1 /* evt */
            checkcast org.apache.batik.gvt.event.GraphicsNodeMouseEvent
            astore 2 /* mevt */
         3: .line 145
      StackMap locals: org.apache.batik.gvt.event.GraphicsNodeMouseEvent
      StackMap stack:
            aload 1 /* evt */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeEvent.getGraphicsNode:()Lorg/apache/batik/gvt/GraphicsNode;
            astore 3 /* source */
        start local 3 // org.apache.batik.gvt.GraphicsNode source
         4: .line 146
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.isDeselectGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
            ifeq 9
         5: .line 147
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            ifnull 7
         6: .line 148
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.RootGraphicsNode.removeTreeGraphicsNodeChangeListener:(Lorg/apache/batik/gvt/event/GraphicsNodeChangeListener;)V
         7: .line 150
      StackMap locals: org.apache.batik.gvt.GraphicsNode
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.clearSelection:()V
         8: .line 151
            goto 79
      StackMap locals:
      StackMap stack:
         9: aload 2 /* mevt */
            ifnull 79
        10: .line 153
            aload 2 /* mevt */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeMouseEvent.getPoint2D:()Ljava/awt/geom/Point2D;
            astore 4 /* p */
        start local 4 // java.awt.geom.Point2D p
        11: .line 155
            aload 3 /* source */
            instanceof org.apache.batik.gvt.Selectable
            ifeq 30
        12: .line 156
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.isSelectStartGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
            ifeq 30
        13: .line 157
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            aload 3 /* source */
            if_acmpeq 22
        14: .line 158
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            ifnull 17
        15: .line 159
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
        16: .line 160
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.RootGraphicsNode.removeTreeGraphicsNodeChangeListener:(Lorg/apache/batik/gvt/event/GraphicsNodeChangeListener;)V
        17: .line 162
      StackMap locals: java.awt.geom.Point2D
      StackMap stack:
            aload 0 /* this */
            aload 3 /* source */
            putfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
        18: .line 163
            aload 3 /* source */
            ifnull 22
        19: .line 164
            aload 0 /* this */
            aload 3 /* source */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getRoot:()Lorg/apache/batik/gvt/RootGraphicsNode;
            putfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
        20: .line 165
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
        21: .line 166
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.RootGraphicsNode.addTreeGraphicsNodeChangeListener:(Lorg/apache/batik/gvt/event/GraphicsNodeChangeListener;)V
        22: .line 170
      StackMap locals:
      StackMap stack:
            aload 3 /* source */
            checkcast org.apache.batik.gvt.Selectable
            aload 4 /* p */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 4 /* p */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokeinterface org.apache.batik.gvt.Selectable.selectAt:(DD)Z
            pop
        23: .line 171
            aload 0 /* this */
        24: .line 172
            new org.apache.batik.gvt.event.SelectionEvent
            dup
            aconst_null
        25: .line 173
            iconst_4
        26: .line 174
            aconst_null
        27: .line 172
            invokespecial org.apache.batik.gvt.event.SelectionEvent.<init>:(Ljava/lang/Object;ILjava/awt/Shape;)V
        28: .line 171
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.dispatchSelectionEvent:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
        29: .line 176
            goto 79
      StackMap locals:
      StackMap stack:
        30: aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.isSelectEndGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
            ifeq 43
        31: .line 177
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            aload 3 /* source */
            if_acmpne 33
        32: .line 178
            aload 3 /* source */
            checkcast org.apache.batik.gvt.Selectable
            aload 4 /* p */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 4 /* p */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokeinterface org.apache.batik.gvt.Selectable.selectTo:(DD)Z
            pop
        33: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.getSelection:()Ljava/lang/Object;
            astore 5 /* oldSelection */
        start local 5 // java.lang.Object oldSelection
        34: .line 181
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            ifnull 79
        35: .line 183
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            checkcast org.apache.batik.gvt.Selectable
            invokeinterface org.apache.batik.gvt.Selectable.getHighlightShape:()Ljava/awt/Shape;
            astore 6 /* newShape */
        start local 6 // java.awt.Shape newShape
        36: .line 184
            aload 0 /* this */
        37: .line 185
            new org.apache.batik.gvt.event.SelectionEvent
            dup
            aload 5 /* oldSelection */
        38: .line 186
            iconst_2
        39: .line 187
            aload 6 /* newShape */
        40: .line 185
            invokespecial org.apache.batik.gvt.event.SelectionEvent.<init>:(Ljava/lang/Object;ILjava/awt/Shape;)V
        41: .line 184
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.dispatchSelectionEvent:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
        end local 6 // java.awt.Shape newShape
        end local 5 // java.lang.Object oldSelection
        42: .line 189
            goto 79
      StackMap locals:
      StackMap stack:
        43: aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.isSelectContinueGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
            ifeq 58
        44: .line 191
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            aload 3 /* source */
            if_acmpne 79
        45: .line 192
            aload 3 /* source */
            checkcast org.apache.batik.gvt.Selectable
            aload 4 /* p */
            invokevirtual java.awt.geom.Point2D.getX:()D
        46: .line 193
            aload 4 /* p */
            invokevirtual java.awt.geom.Point2D.getY:()D
        47: .line 192
            invokeinterface org.apache.batik.gvt.Selectable.selectTo:(DD)Z
            istore 5 /* result */
        start local 5 // boolean result
        48: .line 194
            iload 5 /* result */
            ifeq 79
        49: .line 196
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            checkcast org.apache.batik.gvt.Selectable
            invokeinterface org.apache.batik.gvt.Selectable.getHighlightShape:()Ljava/awt/Shape;
        50: .line 195
            astore 6 /* newShape */
        start local 6 // java.awt.Shape newShape
        51: .line 198
            aload 0 /* this */
        52: .line 199
            new org.apache.batik.gvt.event.SelectionEvent
            dup
            aconst_null
        53: .line 200
            iconst_1
        54: .line 201
            aload 6 /* newShape */
        55: .line 199
            invokespecial org.apache.batik.gvt.event.SelectionEvent.<init>:(Ljava/lang/Object;ILjava/awt/Shape;)V
        56: .line 198
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.dispatchSelectionEvent:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
        end local 6 // java.awt.Shape newShape
        end local 5 // boolean result
        57: .line 204
            goto 79
      StackMap locals:
      StackMap stack:
        58: aload 3 /* source */
            instanceof org.apache.batik.gvt.Selectable
            ifeq 79
        59: .line 205
            aload 0 /* this */
            aload 1 /* evt */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.isSelectAllGesture:(Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
            ifeq 79
        60: .line 206
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            aload 3 /* source */
            if_acmpeq 69
        61: .line 207
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            ifnull 64
        62: .line 208
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
        63: .line 209
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.RootGraphicsNode.removeTreeGraphicsNodeChangeListener:(Lorg/apache/batik/gvt/event/GraphicsNodeChangeListener;)V
        64: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* source */
            putfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
        65: .line 212
            aload 3 /* source */
            ifnull 69
        66: .line 213
            aload 0 /* this */
            aload 3 /* source */
            invokeinterface org.apache.batik.gvt.GraphicsNode.getRoot:()Lorg/apache/batik/gvt/RootGraphicsNode;
            putfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
        67: .line 214
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNodeRoot:Lorg/apache/batik/gvt/RootGraphicsNode;
        68: .line 215
            aload 0 /* this */
            invokevirtual org.apache.batik.gvt.RootGraphicsNode.addTreeGraphicsNodeChangeListener:(Lorg/apache/batik/gvt/event/GraphicsNodeChangeListener;)V
        69: .line 218
      StackMap locals:
      StackMap stack:
            aload 3 /* source */
            checkcast org.apache.batik.gvt.Selectable
            aload 4 /* p */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 4 /* p */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokeinterface org.apache.batik.gvt.Selectable.selectAll:(DD)Z
            pop
        70: .line 219
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.getSelection:()Ljava/lang/Object;
            astore 5 /* oldSelection */
        start local 5 // java.lang.Object oldSelection
        71: .line 221
            aload 3 /* source */
            checkcast org.apache.batik.gvt.Selectable
            invokeinterface org.apache.batik.gvt.Selectable.getHighlightShape:()Ljava/awt/Shape;
        72: .line 220
            astore 6 /* newShape */
        start local 6 // java.awt.Shape newShape
        73: .line 222
            aload 0 /* this */
        74: .line 223
            new org.apache.batik.gvt.event.SelectionEvent
            dup
            aload 5 /* oldSelection */
        75: .line 224
            iconst_2
        76: .line 225
            aload 6 /* newShape */
        77: .line 223
            invokespecial org.apache.batik.gvt.event.SelectionEvent.<init>:(Ljava/lang/Object;ILjava/awt/Shape;)V
        78: .line 222
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.dispatchSelectionEvent:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
        end local 6 // java.awt.Shape newShape
        end local 5 // java.lang.Object oldSelection
        end local 4 // java.awt.geom.Point2D p
        79: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.batik.gvt.GraphicsNode source
        end local 2 // org.apache.batik.gvt.event.GraphicsNodeMouseEvent mevt
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   80     0          this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0   80     1           evt  Lorg/apache/batik/gvt/event/GraphicsNodeEvent;
            1   80     2          mevt  Lorg/apache/batik/gvt/event/GraphicsNodeMouseEvent;
            4   80     3        source  Lorg/apache/batik/gvt/GraphicsNode;
           11   79     4             p  Ljava/awt/geom/Point2D;
           34   42     5  oldSelection  Ljava/lang/Object;
           36   42     6      newShape  Ljava/awt/Shape;
           48   57     5        result  Z
           51   57     6      newShape  Ljava/awt/Shape;
           71   79     5  oldSelection  Ljava/lang/Object;
           73   79     6      newShape  Ljava/awt/Shape;
    MethodParameters:
      Name  Flags
      evt   

  private boolean isDeselectGesture(org.apache.batik.gvt.event.GraphicsNodeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
         0: .line 231
            aload 1 /* evt */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeEvent.getID:()I
            sipush 500
            if_icmpne 3
         1: .line 232
            aload 1 /* evt */
            checkcast org.apache.batik.gvt.event.GraphicsNodeMouseEvent
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeMouseEvent.getClickCount:()I
            iconst_1
            if_icmpne 3
         2: .line 231
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    4     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeEvent;
    MethodParameters:
      Name  Flags
      evt   

  private boolean isSelectStartGesture(org.apache.batik.gvt.event.GraphicsNodeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
         0: .line 236
            aload 1 /* evt */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeEvent.getID:()I
            sipush 501
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeEvent;
    MethodParameters:
      Name  Flags
      evt   

  private boolean isSelectEndGesture(org.apache.batik.gvt.event.GraphicsNodeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
         0: .line 240
            aload 1 /* evt */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeEvent.getID:()I
            sipush 502
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeEvent;
    MethodParameters:
      Name  Flags
      evt   

  private boolean isSelectContinueGesture(org.apache.batik.gvt.event.GraphicsNodeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
         0: .line 244
            aload 1 /* evt */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeEvent.getID:()I
            sipush 506
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    2     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeEvent;
    MethodParameters:
      Name  Flags
      evt   

  private boolean isSelectAllGesture(org.apache.batik.gvt.event.GraphicsNodeEvent);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeEvent;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
         0: .line 248
            aload 1 /* evt */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeEvent.getID:()I
            sipush 500
            if_icmpne 3
         1: .line 249
            aload 1 /* evt */
            checkcast org.apache.batik.gvt.event.GraphicsNodeMouseEvent
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeMouseEvent.getClickCount:()I
            iconst_2
            if_icmpne 3
         2: .line 248
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    4     1   evt  Lorg/apache/batik/gvt/event/GraphicsNodeEvent;
    MethodParameters:
      Name  Flags
      evt   

  public java.lang.Object getSelection();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
         0: .line 256
            aconst_null
            astore 1 /* value */
        start local 1 // java.lang.Object value
         1: .line 257
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            instanceof org.apache.batik.gvt.Selectable
            ifeq 3
         2: .line 258
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.selectionNode:Lorg/apache/batik/gvt/GraphicsNode;
            checkcast org.apache.batik.gvt.Selectable
            invokeinterface org.apache.batik.gvt.Selectable.getSelection:()Ljava/lang/Object;
            astore 1 /* value */
         3: .line 260
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.Object value
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            1    4     1  value  Ljava/lang/Object;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
         0: .line 267
            aload 0 /* this */
            invokevirtual org.apache.batik.bridge.ConcreteTextSelector.getSelection:()Ljava/lang/Object;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;

  public void dispatchSelectionEvent(org.apache.batik.gvt.event.SelectionEvent);
    descriptor: (Lorg/apache/batik/gvt/event/SelectionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.SelectionEvent e
         0: .line 274
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.listeners:Ljava/util/ArrayList;
            ifnull 18
         1: .line 275
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.listeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: .line 276
            aload 1 /* e */
            invokevirtual org.apache.batik.gvt.event.SelectionEvent.getID:()I
            tableswitch { // 1 - 4
                    1: 7
                    2: 3
                    3: 11
                    4: 15
              default: 18
          }
         3: .line 278
      StackMap locals: java.util.Iterator
      StackMap stack:
            goto 5
         4: .line 279
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.batik.gvt.event.SelectionListener
            aload 1 /* e */
            invokeinterface org.apache.batik.gvt.event.SelectionListener.selectionDone:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
         5: .line 278
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         6: .line 281
            goto 18
         7: .line 283
      StackMap locals:
      StackMap stack:
            goto 9
         8: .line 284
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.batik.gvt.event.SelectionListener
            aload 1 /* e */
            invokeinterface org.apache.batik.gvt.event.SelectionListener.selectionChanged:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
         9: .line 283
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        10: .line 286
            goto 18
        11: .line 288
      StackMap locals:
      StackMap stack:
            goto 13
        12: .line 289
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.batik.gvt.event.SelectionListener
            aload 1 /* e */
            invokeinterface org.apache.batik.gvt.event.SelectionListener.selectionCleared:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
        13: .line 288
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        14: .line 291
            goto 18
        15: .line 293
      StackMap locals:
      StackMap stack:
            goto 17
        16: .line 294
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.batik.gvt.event.SelectionListener
            aload 1 /* e */
            invokeinterface org.apache.batik.gvt.event.SelectionListener.selectionStarted:(Lorg/apache/batik/gvt/event/SelectionEvent;)V
        17: .line 293
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        end local 2 // java.util.Iterator iter
        18: .line 299
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.batik.gvt.event.SelectionEvent e
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0   19     1     e  Lorg/apache/batik/gvt/event/SelectionEvent;
            2   18     2  iter  Ljava/util/Iterator;
    MethodParameters:
      Name  Flags
      e     

  public void addSelectionListener(org.apache.batik.gvt.event.SelectionListener);
    descriptor: (Lorg/apache/batik/gvt/event/SelectionListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.SelectionListener l
         0: .line 306
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.listeners:Ljava/util/ArrayList;
            ifnonnull 2
         1: .line 307
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.batik.bridge.ConcreteTextSelector.listeners:Ljava/util/ArrayList;
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.listeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 310
            return
        end local 1 // org.apache.batik.gvt.event.SelectionListener l
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    4     1     l  Lorg/apache/batik/gvt/event/SelectionListener;
    MethodParameters:
      Name  Flags
      l     

  public void removeSelectionListener(org.apache.batik.gvt.event.SelectionListener);
    descriptor: (Lorg/apache/batik/gvt/event/SelectionListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.SelectionListener l
         0: .line 317
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.listeners:Ljava/util/ArrayList;
            ifnull 2
         1: .line 318
            aload 0 /* this */
            getfield org.apache.batik.bridge.ConcreteTextSelector.listeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 320
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.batik.gvt.event.SelectionListener l
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0    3     1     l  Lorg/apache/batik/gvt/event/SelectionListener;
    MethodParameters:
      Name  Flags
      l     

  private void report(org.apache.batik.gvt.event.GraphicsNodeEvent, java.lang.String);
    descriptor: (Lorg/apache/batik/gvt/event/GraphicsNodeEvent;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.apache.batik.bridge.ConcreteTextSelector this
        start local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
        start local 2 // java.lang.String message
         0: .line 323
            aload 1 /* evt */
            invokevirtual org.apache.batik.gvt.event.GraphicsNodeEvent.getGraphicsNode:()Lorg/apache/batik/gvt/GraphicsNode;
            astore 3 /* source */
        start local 3 // org.apache.batik.gvt.GraphicsNode source
         1: .line 324
            ldc "(non-text node)"
            astore 4 /* label */
        start local 4 // java.lang.String label
         2: .line 325
            aload 3 /* source */
            instanceof org.apache.batik.bridge.TextNode
            ifeq 13
         3: .line 328
            aload 3 /* source */
            checkcast org.apache.batik.bridge.TextNode
            invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
         4: .line 327
            astore 6 /* iter */
        start local 6 // java.text.CharacterIterator iter
         5: .line 329
            aload 6 /* iter */
            invokeinterface java.text.CharacterIterator.getEndIndex:()I
            newarray 5
            astore 5 /* cbuff */
        start local 5 // char[] cbuff
         6: .line 330
            aload 5 /* cbuff */
            arraylength
            ifle 7
            aload 5 /* cbuff */
            iconst_0
            aload 6 /* iter */
            invokeinterface java.text.CharacterIterator.first:()C
            castore
         7: .line 331
      StackMap locals: org.apache.batik.bridge.ConcreteTextSelector org.apache.batik.gvt.event.GraphicsNodeEvent java.lang.String org.apache.batik.gvt.GraphicsNode java.lang.String char[] java.text.CharacterIterator
      StackMap stack:
            iconst_1
            istore 7 /* i */
        start local 7 // int i
         8: goto 11
         9: .line 332
      StackMap locals: int
      StackMap stack:
            aload 5 /* cbuff */
            iload 7 /* i */
            aload 6 /* iter */
            invokeinterface java.text.CharacterIterator.next:()C
            castore
        10: .line 331
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            aload 5 /* cbuff */
            arraylength
            if_icmplt 9
        end local 7 // int i
        12: .line 334
            new java.lang.String
            dup
            aload 5 /* cbuff */
            invokespecial java.lang.String.<init>:([C)V
            astore 4 /* label */
        end local 6 // java.text.CharacterIterator iter
        end local 5 // char[] cbuff
        13: .line 336
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Mouse "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 337
            return
        end local 4 // java.lang.String label
        end local 3 // org.apache.batik.gvt.GraphicsNode source
        end local 2 // java.lang.String message
        end local 1 // org.apache.batik.gvt.event.GraphicsNodeEvent evt
        end local 0 // org.apache.batik.bridge.ConcreteTextSelector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/apache/batik/bridge/ConcreteTextSelector;
            0   15     1      evt  Lorg/apache/batik/gvt/event/GraphicsNodeEvent;
            0   15     2  message  Ljava/lang/String;
            1   15     3   source  Lorg/apache/batik/gvt/GraphicsNode;
            2   15     4    label  Ljava/lang/String;
            6   13     5    cbuff  [C
            5   13     6     iter  Ljava/text/CharacterIterator;
            8   12     7        i  I
    MethodParameters:
         Name  Flags
      evt      
      message  
}
SourceFile: "ConcreteTextSelector.java"