public class java.awt.event.InputMethodEvent extends java.awt.AWTEvent
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.awt.event.InputMethodEvent
  super_class: java.awt.AWTEvent
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4727190874778922661

  public static final int INPUT_METHOD_FIRST;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1100

  public static final int INPUT_METHOD_TEXT_CHANGED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1100

  public static final int CARET_POSITION_CHANGED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1101

  public static final int INPUT_METHOD_LAST;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1101

  long when;
    descriptor: J
    flags: (0x0000) 

  private transient java.text.AttributedCharacterIterator text;
    descriptor: Ljava/text/AttributedCharacterIterator;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient int committedCharacterCount;
    descriptor: I
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.awt.font.TextHitInfo caret;
    descriptor: Ljava/awt/font/TextHitInfo;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.awt.font.TextHitInfo visiblePosition;
    descriptor: Ljava/awt/font/TextHitInfo;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  public void <init>(java.awt.Component, int, long, java.text.AttributedCharacterIterator, int, java.awt.font.TextHitInfo, java.awt.font.TextHitInfo);
    descriptor: (Ljava/awt/Component;IJLjava/text/AttributedCharacterIterator;ILjava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=8
        start local 0 // java.awt.event.InputMethodEvent this
        start local 1 // java.awt.Component source
        start local 2 // int id
        start local 3 // long when
        start local 5 // java.text.AttributedCharacterIterator text
        start local 6 // int committedCharacterCount
        start local 7 // java.awt.font.TextHitInfo caret
        start local 8 // java.awt.font.TextHitInfo visiblePosition
         0: .line 154
            aload 0 /* this */
            aload 1 /* source */
            iload 2 /* id */
            invokespecial java.awt.AWTEvent.<init>:(Ljava/lang/Object;I)V
         1: .line 155
            iload 2 /* id */
            sipush 1100
            if_icmplt 2
            iload 2 /* id */
            sipush 1101
            if_icmple 3
         2: .line 156
      StackMap locals: java.awt.event.InputMethodEvent java.awt.Component int long java.text.AttributedCharacterIterator int java.awt.font.TextHitInfo java.awt.font.TextHitInfo
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "id outside of valid range"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 159
      StackMap locals:
      StackMap stack:
            iload 2 /* id */
            sipush 1101
            if_icmpne 5
            aload 5 /* text */
            ifnull 5
         4: .line 160
            new java.lang.IllegalArgumentException
            dup
            ldc "text must be null for CARET_POSITION_CHANGED"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* when */
            putfield java.awt.event.InputMethodEvent.when:J
         6: .line 164
            aload 0 /* this */
            aload 5 /* text */
            putfield java.awt.event.InputMethodEvent.text:Ljava/text/AttributedCharacterIterator;
         7: .line 165
            iconst_0
            istore 9 /* textLength */
        start local 9 // int textLength
         8: .line 166
            aload 5 /* text */
            ifnull 10
         9: .line 167
            aload 5 /* text */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            aload 5 /* text */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            isub
            istore 9 /* textLength */
        10: .line 170
      StackMap locals: int
      StackMap stack:
            iload 6 /* committedCharacterCount */
            iflt 11
            iload 6 /* committedCharacterCount */
            iload 9 /* textLength */
            if_icmple 12
        11: .line 171
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "committedCharacterCount outside of valid range"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* committedCharacterCount */
            putfield java.awt.event.InputMethodEvent.committedCharacterCount:I
        13: .line 175
            aload 0 /* this */
            aload 7 /* caret */
            putfield java.awt.event.InputMethodEvent.caret:Ljava/awt/font/TextHitInfo;
        14: .line 176
            aload 0 /* this */
            aload 8 /* visiblePosition */
            putfield java.awt.event.InputMethodEvent.visiblePosition:Ljava/awt/font/TextHitInfo;
        15: .line 177
            return
        end local 9 // int textLength
        end local 8 // java.awt.font.TextHitInfo visiblePosition
        end local 7 // java.awt.font.TextHitInfo caret
        end local 6 // int committedCharacterCount
        end local 5 // java.text.AttributedCharacterIterator text
        end local 3 // long when
        end local 2 // int id
        end local 1 // java.awt.Component source
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   16     0                     this  Ljava/awt/event/InputMethodEvent;
            0   16     1                   source  Ljava/awt/Component;
            0   16     2                       id  I
            0   16     3                     when  J
            0   16     5                     text  Ljava/text/AttributedCharacterIterator;
            0   16     6  committedCharacterCount  I
            0   16     7                    caret  Ljava/awt/font/TextHitInfo;
            0   16     8          visiblePosition  Ljava/awt/font/TextHitInfo;
            8   16     9               textLength  I
    MethodParameters:
                         Name  Flags
      source                   
      id                       
      when                     
      text                     
      committedCharacterCount  
      caret                    
      visiblePosition          

  public void <init>(java.awt.Component, int, java.text.AttributedCharacterIterator, int, java.awt.font.TextHitInfo, java.awt.font.TextHitInfo);
    descriptor: (Ljava/awt/Component;ILjava/text/AttributedCharacterIterator;ILjava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // java.awt.event.InputMethodEvent this
        start local 1 // java.awt.Component source
        start local 2 // int id
        start local 3 // java.text.AttributedCharacterIterator text
        start local 4 // int committedCharacterCount
        start local 5 // java.awt.font.TextHitInfo caret
        start local 6 // java.awt.font.TextHitInfo visiblePosition
         0: .line 224
            aload 0 /* this */
            aload 1 /* source */
            iload 2 /* id */
         1: .line 225
            aload 1 /* source */
            invokestatic java.awt.event.InputMethodEvent.getMostRecentEventTimeForSource:(Ljava/lang/Object;)J
         2: .line 226
            aload 3 /* text */
            iload 4 /* committedCharacterCount */
         3: .line 227
            aload 5 /* caret */
            aload 6 /* visiblePosition */
            invokespecial java.awt.event.InputMethodEvent.<init>:(Ljava/awt/Component;IJLjava/text/AttributedCharacterIterator;ILjava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;)V
         4: .line 228
            return
        end local 6 // java.awt.font.TextHitInfo visiblePosition
        end local 5 // java.awt.font.TextHitInfo caret
        end local 4 // int committedCharacterCount
        end local 3 // java.text.AttributedCharacterIterator text
        end local 2 // int id
        end local 1 // java.awt.Component source
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                     this  Ljava/awt/event/InputMethodEvent;
            0    5     1                   source  Ljava/awt/Component;
            0    5     2                       id  I
            0    5     3                     text  Ljava/text/AttributedCharacterIterator;
            0    5     4  committedCharacterCount  I
            0    5     5                    caret  Ljava/awt/font/TextHitInfo;
            0    5     6          visiblePosition  Ljava/awt/font/TextHitInfo;
    MethodParameters:
                         Name  Flags
      source                   
      id                       
      text                     
      committedCharacterCount  
      caret                    
      visiblePosition          

  public void <init>(java.awt.Component, int, java.awt.font.TextHitInfo, java.awt.font.TextHitInfo);
    descriptor: (Ljava/awt/Component;ILjava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // java.awt.event.InputMethodEvent this
        start local 1 // java.awt.Component source
        start local 2 // int id
        start local 3 // java.awt.font.TextHitInfo caret
        start local 4 // java.awt.font.TextHitInfo visiblePosition
         0: .line 267
            aload 0 /* this */
            aload 1 /* source */
            iload 2 /* id */
         1: .line 268
            aload 1 /* source */
            invokestatic java.awt.event.InputMethodEvent.getMostRecentEventTimeForSource:(Ljava/lang/Object;)J
         2: .line 269
            aconst_null
            iconst_0
            aload 3 /* caret */
            aload 4 /* visiblePosition */
            invokespecial java.awt.event.InputMethodEvent.<init>:(Ljava/awt/Component;IJLjava/text/AttributedCharacterIterator;ILjava/awt/font/TextHitInfo;Ljava/awt/font/TextHitInfo;)V
         3: .line 270
            return
        end local 4 // java.awt.font.TextHitInfo visiblePosition
        end local 3 // java.awt.font.TextHitInfo caret
        end local 2 // int id
        end local 1 // java.awt.Component source
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Ljava/awt/event/InputMethodEvent;
            0    4     1           source  Ljava/awt/Component;
            0    4     2               id  I
            0    4     3            caret  Ljava/awt/font/TextHitInfo;
            0    4     4  visiblePosition  Ljava/awt/font/TextHitInfo;
    MethodParameters:
                 Name  Flags
      source           
      id               
      caret            
      visiblePosition  

  public java.text.AttributedCharacterIterator getText();
    descriptor: ()Ljava/text/AttributedCharacterIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.event.InputMethodEvent this
         0: .line 282
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.text:Ljava/text/AttributedCharacterIterator;
            areturn
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/event/InputMethodEvent;

  public int getCommittedCharacterCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.event.InputMethodEvent this
         0: .line 290
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.committedCharacterCount:I
            ireturn
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/event/InputMethodEvent;

  public java.awt.font.TextHitInfo getCaret();
    descriptor: ()Ljava/awt/font/TextHitInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.event.InputMethodEvent this
         0: .line 306
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.caret:Ljava/awt/font/TextHitInfo;
            areturn
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/event/InputMethodEvent;

  public java.awt.font.TextHitInfo getVisiblePosition();
    descriptor: ()Ljava/awt/font/TextHitInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.event.InputMethodEvent this
         0: .line 322
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.visiblePosition:Ljava/awt/font/TextHitInfo;
            areturn
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/event/InputMethodEvent;

  public void consume();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.event.InputMethodEvent this
         0: .line 330
            aload 0 /* this */
            iconst_1
            putfield java.awt.event.InputMethodEvent.consumed:Z
         1: .line 331
            return
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/event/InputMethodEvent;

  public boolean isConsumed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.event.InputMethodEvent this
         0: .line 338
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.consumed:Z
            ireturn
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/event/InputMethodEvent;

  public long getWhen();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.event.InputMethodEvent this
         0: .line 348
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.when:J
            lreturn
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/event/InputMethodEvent;

  public java.lang.String paramString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.awt.event.InputMethodEvent this
         0: .line 363
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.id:I
            tableswitch { // 1100 - 1101
                 1100: 1
                 1101: 3
              default: 5
          }
         1: .line 365
      StackMap locals:
      StackMap stack:
            ldc "INPUT_METHOD_TEXT_CHANGED"
            astore 1 /* typeStr */
        start local 1 // java.lang.String typeStr
         2: .line 366
            goto 6
        end local 1 // java.lang.String typeStr
         3: .line 368
      StackMap locals:
      StackMap stack:
            ldc "CARET_POSITION_CHANGED"
            astore 1 /* typeStr */
        start local 1 // java.lang.String typeStr
         4: .line 369
            goto 6
        end local 1 // java.lang.String typeStr
         5: .line 371
      StackMap locals:
      StackMap stack:
            ldc "unknown type"
            astore 1 /* typeStr */
        start local 1 // java.lang.String typeStr
         6: .line 375
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.text:Ljava/text/AttributedCharacterIterator;
            ifnonnull 9
         7: .line 376
            ldc "no text"
            astore 2 /* textString */
        start local 2 // java.lang.String textString
         8: .line 377
            goto 23
        end local 2 // java.lang.String textString
         9: .line 378
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* textBuffer */
        start local 3 // java.lang.StringBuilder textBuffer
        10: .line 379
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.committedCharacterCount:I
            istore 4 /* committedCharacterCount */
        start local 4 // int committedCharacterCount
        11: .line 380
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.text:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 5 /* c */
        start local 5 // char c
        12: .line 381
            goto 15
        13: .line 382
      StackMap locals: java.awt.event.InputMethodEvent java.lang.String top java.lang.StringBuilder int int
      StackMap stack:
            aload 3 /* textBuffer */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 383
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.text:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 5 /* c */
        15: .line 381
      StackMap locals:
      StackMap stack:
            iload 4 /* committedCharacterCount */
            iinc 4 /* committedCharacterCount */ -1
            ifgt 13
        16: .line 385
            aload 3 /* textBuffer */
            ldc "\" + \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 386
            goto 20
        18: .line 387
      StackMap locals:
      StackMap stack:
            aload 3 /* textBuffer */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 388
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.text:Ljava/text/AttributedCharacterIterator;
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 5 /* c */
        20: .line 386
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            ldc 65535
            if_icmpne 18
        21: .line 390
            aload 3 /* textBuffer */
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 391
            aload 3 /* textBuffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* textString */
        end local 5 // char c
        end local 4 // int committedCharacterCount
        end local 3 // java.lang.StringBuilder textBuffer
        start local 2 // java.lang.String textString
        23: .line 394
      StackMap locals: java.awt.event.InputMethodEvent java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.committedCharacterCount:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " characters committed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* countString */
        start local 3 // java.lang.String countString
        24: .line 397
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.caret:Ljava/awt/font/TextHitInfo;
            ifnonnull 27
        25: .line 398
            ldc "no caret"
            astore 4 /* caretString */
        start local 4 // java.lang.String caretString
        26: .line 399
            goto 28
        end local 4 // java.lang.String caretString
        27: .line 400
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "caret: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.caret:Ljava/awt/font/TextHitInfo;
            invokevirtual java.awt.font.TextHitInfo.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* caretString */
        start local 4 // java.lang.String caretString
        28: .line 404
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.visiblePosition:Ljava/awt/font/TextHitInfo;
            ifnonnull 31
        29: .line 405
            ldc "no visible position"
            astore 5 /* visiblePositionString */
        start local 5 // java.lang.String visiblePositionString
        30: .line 406
            goto 32
        end local 5 // java.lang.String visiblePositionString
        31: .line 407
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "visible position: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.visiblePosition:Ljava/awt/font/TextHitInfo;
            invokevirtual java.awt.font.TextHitInfo.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* visiblePositionString */
        start local 5 // java.lang.String visiblePositionString
        32: .line 410
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* typeStr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* textString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* countString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* caretString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* visiblePositionString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.String visiblePositionString
        end local 4 // java.lang.String caretString
        end local 3 // java.lang.String countString
        end local 2 // java.lang.String textString
        end local 1 // java.lang.String typeStr
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   33     0                     this  Ljava/awt/event/InputMethodEvent;
            2    3     1                  typeStr  Ljava/lang/String;
            4    5     1                  typeStr  Ljava/lang/String;
            6   33     1                  typeStr  Ljava/lang/String;
            8    9     2               textString  Ljava/lang/String;
           23   33     2               textString  Ljava/lang/String;
           10   23     3               textBuffer  Ljava/lang/StringBuilder;
           11   23     4  committedCharacterCount  I
           12   23     5                        c  C
           24   33     3              countString  Ljava/lang/String;
           26   27     4              caretString  Ljava/lang/String;
           28   33     4              caretString  Ljava/lang/String;
           30   31     5    visiblePositionString  Ljava/lang/String;
           32   33     5    visiblePositionString  Ljava/lang/String;

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.awt.event.InputMethodEvent this
        start local 1 // java.io.ObjectInputStream s
         0: .line 419
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 420
            aload 0 /* this */
            getfield java.awt.event.InputMethodEvent.when:J
            lconst_0
            lcmp
            ifne 3
         2: .line 422
            aload 0 /* this */
            invokestatic java.awt.EventQueue.getMostRecentEventTime:()J
            putfield java.awt.event.InputMethodEvent.when:J
         3: .line 424
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectInputStream s
        end local 0 // java.awt.event.InputMethodEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/event/InputMethodEvent;
            0    4     1     s  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.lang.ClassNotFoundException, java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private static long getMostRecentEventTimeForSource(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Object source
         0: .line 435
            aload 0 /* source */
            ifnonnull 2
         1: .line 437
            new java.lang.IllegalArgumentException
            dup
            ldc "null source"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokestatic sun.awt.SunToolkit.targetToAppContext:(Ljava/lang/Object;)Lsun/awt/AppContext;
            astore 1 /* appContext */
        start local 1 // sun.awt.AppContext appContext
         3: .line 440
            aload 1 /* appContext */
            invokestatic sun.awt.SunToolkit.getSystemEventQueueImplPP:(Lsun/awt/AppContext;)Ljava/awt/EventQueue;
            astore 2 /* eventQueue */
        start local 2 // java.awt.EventQueue eventQueue
         4: .line 441
            invokestatic sun.awt.AWTAccessor.getEventQueueAccessor:()Lsun/awt/AWTAccessor$EventQueueAccessor;
            aload 2 /* eventQueue */
            invokeinterface sun.awt.AWTAccessor$EventQueueAccessor.getMostRecentEventTime:(Ljava/awt/EventQueue;)J
            lreturn
        end local 2 // java.awt.EventQueue eventQueue
        end local 1 // sun.awt.AppContext appContext
        end local 0 // java.lang.Object source
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0      source  Ljava/lang/Object;
            3    5     1  appContext  Lsun/awt/AppContext;
            4    5     2  eventQueue  Ljava/awt/EventQueue;
    MethodParameters:
        Name  Flags
      source  
}
SourceFile: "InputMethodEvent.java"
InnerClasses:
  public abstract EventQueueAccessor = sun.awt.AWTAccessor$EventQueueAccessor of sun.awt.AWTAccessor