class sun.awt.im.ExecutableInputMethodManager extends sun.awt.im.InputMethodManager implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.awt.im.ExecutableInputMethodManager
  super_class: sun.awt.im.InputMethodManager
{
  private sun.awt.im.InputContext currentInputContext;
    descriptor: Lsun/awt/im/InputContext;
    flags: (0x0002) ACC_PRIVATE

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

  private sun.awt.im.InputMethodPopupMenu selectionMenu;
    descriptor: Lsun/awt/im/InputMethodPopupMenu;
    flags: (0x0002) ACC_PRIVATE

  private static java.lang.String selectInputMethodMenuTitle;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private sun.awt.im.InputMethodLocator hostAdapterLocator;
    descriptor: Lsun/awt/im/InputMethodLocator;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.Vector<sun.awt.im.InputMethodLocator> javaInputMethodLocatorList;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Lsun/awt/im/InputMethodLocator;>;

  private java.awt.Component requestComponent;
    descriptor: Ljava/awt/Component;
    flags: (0x0002) ACC_PRIVATE

  private sun.awt.im.InputContext requestInputContext;
    descriptor: Lsun/awt/im/InputContext;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String preferredIMNode;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/sun/awt/im/preferredInputMethod"

  private static final java.lang.String descriptorKey;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "descriptor"

  private java.util.Hashtable<java.lang.String, sun.awt.im.InputMethodLocator> preferredLocatorCache;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Lsun/awt/im/InputMethodLocator;>;

  private java.util.prefs.Preferences userRoot;
    descriptor: Ljava/util/prefs/Preferences;
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 102
            aload 0 /* this */
            invokespecial sun.awt.im.InputMethodManager.<init>:()V
         1: .line 99
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.awt.im.ExecutableInputMethodManager.preferredLocatorCache:Ljava/util/Hashtable;
         2: .line 105
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 1 /* toolkit */
        start local 1 // java.awt.Toolkit toolkit
         3: .line 107
            aload 1 /* toolkit */
            instanceof sun.awt.InputMethodSupport
            ifeq 11
         4: .line 109
            aload 1 /* toolkit */
            checkcast sun.awt.InputMethodSupport
         5: .line 110
            invokeinterface sun.awt.InputMethodSupport.getInputMethodAdapterDescriptor:()Ljava/awt/im/spi/InputMethodDescriptor;
         6: .line 108
            astore 2 /* hostAdapterDescriptor */
        start local 2 // java.awt.im.spi.InputMethodDescriptor hostAdapterDescriptor
         7: .line 111
            aload 2 /* hostAdapterDescriptor */
            ifnull 11
         8: .line 112
            aload 0 /* this */
            new sun.awt.im.InputMethodLocator
            dup
            aload 2 /* hostAdapterDescriptor */
            aconst_null
            aconst_null
            invokespecial sun.awt.im.InputMethodLocator.<init>:(Ljava/awt/im/spi/InputMethodDescriptor;Ljava/lang/ClassLoader;Ljava/util/Locale;)V
            putfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
        end local 2 // java.awt.im.spi.InputMethodDescriptor hostAdapterDescriptor
         9: .line 115
            goto 11
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.awt.Toolkit
      StackMap stack: java.awt.AWTException
        10: pop
        11: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
        12: .line 120
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.initializeInputMethodLocatorList:()V
        13: .line 121
            return
        end local 1 // java.awt.Toolkit toolkit
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0                   this  Lsun/awt/im/ExecutableInputMethodManager;
            3   14     1                toolkit  Ljava/awt/Toolkit;
            7    9     2  hostAdapterDescriptor  Ljava/awt/im/spi/InputMethodDescriptor;
      Exception table:
        from    to  target  type
           3     9      10  Class java.awt.AWTException

  synchronized void initialize();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 124
            ldc "AWT.InputMethodSelectionMenu"
            ldc "Select Input Method"
            invokestatic java.awt.Toolkit.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putstatic sun.awt.im.ExecutableInputMethodManager.selectInputMethodMenuTitle:Ljava/lang/String;
         1: .line 126
            aload 0 /* this */
            getstatic sun.awt.im.ExecutableInputMethodManager.selectInputMethodMenuTitle:Ljava/lang/String;
            putfield sun.awt.im.ExecutableInputMethodManager.triggerMenuString:Ljava/lang/String;
         2: .line 127
            return
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/im/ExecutableInputMethodManager;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 131
            goto 8
         1: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 134
            aload 0 /* this */
            invokevirtual java.lang.Object.wait:()V
         3: .line 133
            aload 1
            monitorexit
         4: goto 8
      StackMap locals: sun.awt.im.ExecutableInputMethodManager sun.awt.im.ExecutableInputMethodManager
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 136
      StackMap locals: sun.awt.im.ExecutableInputMethodManager
      StackMap stack: java.lang.InterruptedException
            pop
         8: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.hasMultipleInputMethods:()Z
            ifeq 1
         9: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.waitForChangeRequest:()V
        10: .line 143
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.initializeInputMethodLocatorList:()V
        11: .line 145
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
            ifnull 14
        12: .line 146
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
            invokevirtual sun.awt.im.ExecutableInputMethodManager.showInputMethodMenuOnRequesterEDT:(Ljava/awt/Component;)V
        13: .line 147
            goto 9
        14: .line 149
      StackMap locals:
      StackMap stack:
            new sun.awt.im.ExecutableInputMethodManager$1
            dup
            aload 0 /* this */
            invokespecial sun.awt.im.ExecutableInputMethodManager$1.<init>:(Lsun/awt/im/ExecutableInputMethodManager;)V
            invokestatic java.awt.EventQueue.invokeAndWait:(Ljava/lang/Runnable;)V
        15: .line 155
            goto 9
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        16: pop
            goto 9
        17: .line 156
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            pop
        18: .line 141
            goto 9
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lsun/awt/im/ExecutableInputMethodManager;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
           1     7       7  Class java.lang.InterruptedException
          11    15      16  Class java.lang.InterruptedException
          11    15      17  Class java.lang.reflect.InvocationTargetException

  private void showInputMethodMenuOnRequesterEDT(java.awt.Component);
    descriptor: (Ljava/awt/Component;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.awt.Component requester
         0: .line 167
            aload 1 /* requester */
            ifnonnull 2
         1: .line 168
            return
         2: .line 172
      StackMap locals:
      StackMap stack:
            new sun.awt.im.ExecutableInputMethodManager$1AWTInvocationLock
            dup
            aload 0 /* this */
            invokespecial sun.awt.im.ExecutableInputMethodManager$1AWTInvocationLock.<init>:(Lsun/awt/im/ExecutableInputMethodManager;)V
            astore 2 /* lock */
        start local 2 // java.lang.Object lock
         3: .line 175
            new java.awt.event.InvocationEvent
            dup
            aload 1 /* requester */
         4: .line 176
            new sun.awt.im.ExecutableInputMethodManager$2
            dup
            aload 0 /* this */
            invokespecial sun.awt.im.ExecutableInputMethodManager$2.<init>:(Lsun/awt/im/ExecutableInputMethodManager;)V
         5: .line 181
            aload 2 /* lock */
         6: .line 182
            iconst_1
         7: .line 175
            invokespecial java.awt.event.InvocationEvent.<init>:(Ljava/lang/Object;Ljava/lang/Runnable;Ljava/lang/Object;Z)V
         8: .line 174
            astore 3 /* event */
        start local 3 // java.awt.event.InvocationEvent event
         9: .line 184
            aload 1 /* requester */
            invokestatic sun.awt.SunToolkit.targetToAppContext:(Ljava/lang/Object;)Lsun/awt/AppContext;
            astore 4 /* requesterAppContext */
        start local 4 // sun.awt.AppContext requesterAppContext
        10: .line 185
            aload 2 /* lock */
            dup
            astore 5
            monitorenter
        11: .line 186
            aload 4 /* requesterAppContext */
            aload 3 /* event */
            invokestatic sun.awt.SunToolkit.postEvent:(Lsun/awt/AppContext;Ljava/awt/AWTEvent;)V
        12: .line 187
            goto 14
        13: .line 188
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.awt.Component java.lang.Object java.awt.event.InvocationEvent sun.awt.AppContext java.lang.Object
      StackMap stack:
            aload 2 /* lock */
            invokevirtual java.lang.Object.wait:()V
        14: .line 187
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual java.awt.event.InvocationEvent.isDispatched:()Z
            ifeq 13
        15: .line 185
            aload 5
            monitorexit
        16: goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 5
            monitorexit
        18: athrow
        19: .line 192
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual java.awt.event.InvocationEvent.getThrowable:()Ljava/lang/Throwable;
            astore 5 /* eventThrowable */
        start local 5 // java.lang.Throwable eventThrowable
        20: .line 193
            aload 5 /* eventThrowable */
            ifnull 22
        21: .line 194
            new java.lang.reflect.InvocationTargetException
            dup
            aload 5 /* eventThrowable */
            invokespecial java.lang.reflect.InvocationTargetException.<init>:(Ljava/lang/Throwable;)V
            athrow
        22: .line 196
      StackMap locals: java.lang.Throwable
      StackMap stack:
            return
        end local 5 // java.lang.Throwable eventThrowable
        end local 4 // sun.awt.AppContext requesterAppContext
        end local 3 // java.awt.event.InvocationEvent event
        end local 2 // java.lang.Object lock
        end local 1 // java.awt.Component requester
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   23     0                 this  Lsun/awt/im/ExecutableInputMethodManager;
            0   23     1            requester  Ljava/awt/Component;
            3   23     2                 lock  Ljava/lang/Object;
            9   23     3                event  Ljava/awt/event/InvocationEvent;
           10   23     4  requesterAppContext  Lsun/awt/AppContext;
           20   23     5       eventThrowable  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    16      17  any
          17    18      17  any
    Exceptions:
      throws java.lang.InterruptedException, java.lang.reflect.InvocationTargetException
    MethodParameters:
           Name  Flags
      requester  

  void setInputContext(sun.awt.im.InputContext);
    descriptor: (Lsun/awt/im/InputContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // sun.awt.im.InputContext inputContext
         0: .line 199
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.currentInputContext:Lsun/awt/im/InputContext;
            ifnull 1
         1: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* inputContext */
            putfield sun.awt.im.ExecutableInputMethodManager.currentInputContext:Lsun/awt/im/InputContext;
         2: .line 204
            return
        end local 1 // sun.awt.im.InputContext inputContext
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lsun/awt/im/ExecutableInputMethodManager;
            0    3     1  inputContext  Lsun/awt/im/InputContext;
    MethodParameters:
              Name  Flags
      inputContext  

  public synchronized void notifyChangeRequest(java.awt.Component);
    descriptor: (Ljava/awt/Component;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.awt.Component comp
         0: .line 207
            aload 1 /* comp */
            instanceof java.awt.Frame
            ifne 2
            aload 1 /* comp */
            instanceof java.awt.Dialog
            ifne 2
         1: .line 208
            return
         2: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
            ifnull 4
         3: .line 212
            return
         4: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* comp */
            putfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
         5: .line 215
            aload 0 /* this */
            invokevirtual java.lang.Object.notify:()V
         6: .line 216
            return
        end local 1 // java.awt.Component comp
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/awt/im/ExecutableInputMethodManager;
            0    7     1  comp  Ljava/awt/Component;
    MethodParameters:
      Name  Flags
      comp  

  public synchronized void notifyChangeRequestByHotKey(java.awt.Component);
    descriptor: (Ljava/awt/Component;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.awt.Component comp
         0: .line 219
            goto 4
         1: .line 220
      StackMap locals:
      StackMap stack:
            aload 1 /* comp */
            ifnonnull 3
         2: .line 222
            return
         3: .line 224
      StackMap locals:
      StackMap stack:
            aload 1 /* comp */
            invokevirtual java.awt.Component.getParent:()Ljava/awt/Container;
            astore 1 /* comp */
         4: .line 219
      StackMap locals:
      StackMap stack:
            aload 1 /* comp */
            instanceof java.awt.Frame
            ifne 5
            aload 1 /* comp */
            instanceof java.awt.Dialog
            ifeq 1
         5: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* comp */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.notifyChangeRequest:(Ljava/awt/Component;)V
         6: .line 228
            return
        end local 1 // java.awt.Component comp
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/awt/im/ExecutableInputMethodManager;
            0    7     1  comp  Ljava/awt/Component;
    MethodParameters:
      Name  Flags
      comp  

  public java.lang.String getTriggerMenuString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 231
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.triggerMenuString:Ljava/lang/String;
            areturn
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/im/ExecutableInputMethodManager;

  boolean hasMultipleInputMethods();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 238
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            ifnull 1
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodCount:I
            ifgt 3
         1: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodCount:I
            iconst_1
         2: .line 238
            if_icmpgt 3
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/im/ExecutableInputMethodManager;

  private synchronized void waitForChangeRequest();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 244
            goto 2
         1: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.wait:()V
         2: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
            ifnull 1
         3: .line 247
            goto 5
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         4: pop
         5: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/awt/im/ExecutableInputMethodManager;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.InterruptedException

  private void initializeInputMethodLocatorList();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 256
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            dup
            astore 1
            monitorenter
         1: .line 257
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            invokevirtual java.util.Vector.clear:()V
         2: .line 259
            new sun.awt.im.ExecutableInputMethodManager$3
            dup
            aload 0 /* this */
            invokespecial sun.awt.im.ExecutableInputMethodManager$3.<init>:(Lsun/awt/im/ExecutableInputMethodManager;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         3: .line 270
            goto 6
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.util.Vector
      StackMap stack: java.security.PrivilegedActionException
         4: astore 2 /* e */
        start local 2 // java.security.PrivilegedActionException e
         5: .line 271
            aload 2 /* e */
            invokevirtual java.security.PrivilegedActionException.printStackTrace:()V
        end local 2 // java.security.PrivilegedActionException e
         6: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            putfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodCount:I
         7: .line 256
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.hasMultipleInputMethods:()Z
            ifeq 15
        12: .line 278
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.userRoot:Ljava/util/prefs/Preferences;
            ifnonnull 16
        13: .line 279
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.getUserRoot:()Ljava/util/prefs/Preferences;
            putfield sun.awt.im.ExecutableInputMethodManager.userRoot:Ljava/util/prefs/Preferences;
        14: .line 281
            goto 16
        15: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.awt.im.ExecutableInputMethodManager.triggerMenuString:Ljava/lang/String;
        16: .line 285
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lsun/awt/im/ExecutableInputMethodManager;
            5    6     2     e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.security.PrivilegedActionException
           1     8       9  any
           9    10       9  any

  private void showInputMethodMenu();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 289
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.hasMultipleInputMethods:()Z
            ifne 3
         1: .line 290
            aload 0 /* this */
            aconst_null
            putfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
         2: .line 291
            return
         3: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
            getstatic sun.awt.im.ExecutableInputMethodManager.selectInputMethodMenuTitle:Ljava/lang/String;
            invokestatic sun.awt.im.InputMethodPopupMenu.getInstance:(Ljava/awt/Component;Ljava/lang/String;)Lsun/awt/im/InputMethodPopupMenu;
            putfield sun.awt.im.ExecutableInputMethodManager.selectionMenu:Lsun/awt/im/InputMethodPopupMenu;
         4: .line 300
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.selectionMenu:Lsun/awt/im/InputMethodPopupMenu;
            invokevirtual sun.awt.im.InputMethodPopupMenu.removeAll:()V
         5: .line 305
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.getCurrentSelection:()Ljava/lang/String;
            astore 1 /* currentSelection */
        start local 1 // java.lang.String currentSelection
         6: .line 308
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            ifnull 9
         7: .line 309
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.selectionMenu:Lsun/awt/im/InputMethodPopupMenu;
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            aload 1 /* currentSelection */
            invokevirtual sun.awt.im.InputMethodPopupMenu.addOneInputMethodToMenu:(Lsun/awt/im/InputMethodLocator;Ljava/lang/String;)V
         8: .line 310
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.selectionMenu:Lsun/awt/im/InputMethodPopupMenu;
            invokevirtual sun.awt.im.InputMethodPopupMenu.addSeparator:()V
         9: .line 314
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        10: goto 14
        11: .line 315
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            iload 2 /* i */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast sun.awt.im.InputMethodLocator
            astore 3 /* locator */
        start local 3 // sun.awt.im.InputMethodLocator locator
        12: .line 316
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.selectionMenu:Lsun/awt/im/InputMethodPopupMenu;
            aload 3 /* locator */
            aload 1 /* currentSelection */
            invokevirtual sun.awt.im.InputMethodPopupMenu.addOneInputMethodToMenu:(Lsun/awt/im/InputMethodLocator;Ljava/lang/String;)V
        end local 3 // sun.awt.im.InputMethodLocator locator
        13: .line 314
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 11
        end local 2 // int i
        15: .line 319
            aload 0 /* this */
            dup
            astore 2
            monitorenter
        16: .line 320
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.selectionMenu:Lsun/awt/im/InputMethodPopupMenu;
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
            invokevirtual sun.awt.im.InputMethodPopupMenu.addToComponent:(Ljava/awt/Component;)V
        17: .line 321
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.currentInputContext:Lsun/awt/im/InputContext;
            putfield sun.awt.im.ExecutableInputMethodManager.requestInputContext:Lsun/awt/im/InputContext;
        18: .line 322
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.selectionMenu:Lsun/awt/im/InputMethodPopupMenu;
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
            bipush 60
            bipush 80
            invokevirtual sun.awt.im.InputMethodPopupMenu.show:(Ljava/awt/Component;II)V
        19: .line 323
            aload 0 /* this */
            aconst_null
            putfield sun.awt.im.ExecutableInputMethodManager.requestComponent:Ljava/awt/Component;
        20: .line 319
            aload 2
            monitorexit
        21: goto 24
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.lang.String sun.awt.im.ExecutableInputMethodManager
      StackMap stack: java.lang.Throwable
        22: aload 2
            monitorexit
        23: athrow
        24: .line 325
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String currentSelection
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Lsun/awt/im/ExecutableInputMethodManager;
            6   25     1  currentSelection  Ljava/lang/String;
           10   15     2                 i  I
           12   13     3           locator  Lsun/awt/im/InputMethodLocator;
      Exception table:
        from    to  target  type
          16    21      22  any
          22    23      22  any

  private java.lang.String getCurrentSelection();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 328
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.currentInputContext:Lsun/awt/im/InputContext;
            astore 1 /* inputContext */
        start local 1 // sun.awt.im.InputContext inputContext
         1: .line 329
            aload 1 /* inputContext */
            ifnull 5
         2: .line 330
            aload 1 /* inputContext */
            invokevirtual sun.awt.im.InputContext.getInputMethodLocator:()Lsun/awt/im/InputMethodLocator;
            astore 2 /* locator */
        start local 2 // sun.awt.im.InputMethodLocator locator
         3: .line 331
            aload 2 /* locator */
            ifnull 5
         4: .line 332
            aload 2 /* locator */
            invokevirtual sun.awt.im.InputMethodLocator.getActionCommandString:()Ljava/lang/String;
            areturn
        end local 2 // sun.awt.im.InputMethodLocator locator
         5: .line 335
      StackMap locals: sun.awt.im.InputContext
      StackMap stack:
            aconst_null
            areturn
        end local 1 // sun.awt.im.InputContext inputContext
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lsun/awt/im/ExecutableInputMethodManager;
            1    6     1  inputContext  Lsun/awt/im/InputContext;
            3    5     2       locator  Lsun/awt/im/InputMethodLocator;

  synchronized void changeInputMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.lang.String choice
         0: .line 339
            aconst_null
            astore 2 /* locator */
        start local 2 // sun.awt.im.InputMethodLocator locator
         1: .line 341
            aload 1 /* choice */
            astore 3 /* inputMethodName */
        start local 3 // java.lang.String inputMethodName
         2: .line 342
            aconst_null
            astore 4 /* localeString */
        start local 4 // java.lang.String localeString
         3: .line 343
            aload 1 /* choice */
            bipush 10
            invokevirtual java.lang.String.indexOf:(I)I
            istore 5 /* index */
        start local 5 // int index
         4: .line 344
            iload 5 /* index */
            iconst_m1
            if_icmpeq 7
         5: .line 345
            aload 1 /* choice */
            iload 5 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* localeString */
         6: .line 346
            aload 1 /* choice */
            iconst_0
            iload 5 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* inputMethodName */
         7: .line 348
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.lang.String sun.awt.im.InputMethodLocator java.lang.String java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            invokevirtual sun.awt.im.InputMethodLocator.getActionCommandString:()Ljava/lang/String;
            aload 3 /* inputMethodName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 349
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            astore 2 /* locator */
         9: .line 350
            goto 19
        10: .line 351
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        11: goto 18
        12: .line 352
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            iload 6 /* i */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast sun.awt.im.InputMethodLocator
            astore 7 /* candidate */
        start local 7 // sun.awt.im.InputMethodLocator candidate
        13: .line 353
            aload 7 /* candidate */
            invokevirtual sun.awt.im.InputMethodLocator.getActionCommandString:()Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        14: .line 354
            aload 8 /* name */
            aload 3 /* inputMethodName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 355
            aload 7 /* candidate */
            astore 2 /* locator */
        16: .line 356
            goto 19
        end local 8 // java.lang.String name
        end local 7 // sun.awt.im.InputMethodLocator candidate
        17: .line 351
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 12
        end local 6 // int i
        19: .line 361
      StackMap locals:
      StackMap stack:
            aload 2 /* locator */
            ifnull 37
            aload 4 /* localeString */
            ifnull 37
        20: .line 362
            ldc ""
            astore 6 /* language */
        start local 6 // java.lang.String language
        21: ldc ""
            astore 7 /* country */
        start local 7 // java.lang.String country
        22: ldc ""
            astore 8 /* variant */
        start local 8 // java.lang.String variant
        23: .line 363
            aload 4 /* localeString */
            bipush 95
            invokevirtual java.lang.String.indexOf:(I)I
            istore 9 /* postIndex */
        start local 9 // int postIndex
        24: .line 364
            iload 9 /* postIndex */
            iconst_m1
            if_icmpne 27
        25: .line 365
            aload 4 /* localeString */
            astore 6 /* language */
        26: .line 366
            goto 35
        27: .line 367
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.lang.String sun.awt.im.InputMethodLocator java.lang.String java.lang.String int java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 4 /* localeString */
            iconst_0
            iload 9 /* postIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* language */
        28: .line 368
            iload 9 /* postIndex */
            iconst_1
            iadd
            istore 10 /* preIndex */
        start local 10 // int preIndex
        29: .line 369
            aload 4 /* localeString */
            bipush 95
            iload 10 /* preIndex */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 9 /* postIndex */
        30: .line 370
            iload 9 /* postIndex */
            iconst_m1
            if_icmpne 33
        31: .line 371
            aload 4 /* localeString */
            iload 10 /* preIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* country */
        32: .line 372
            goto 35
        33: .line 373
      StackMap locals: int
      StackMap stack:
            aload 4 /* localeString */
            iload 10 /* preIndex */
            iload 9 /* postIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* country */
        34: .line 374
            aload 4 /* localeString */
            iload 9 /* postIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 8 /* variant */
        end local 10 // int preIndex
        35: .line 377
      StackMap locals:
      StackMap stack:
            new java.util.Locale
            dup
            aload 6 /* language */
            aload 7 /* country */
            aload 8 /* variant */
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 10 /* locale */
        start local 10 // java.util.Locale locale
        36: .line 378
            aload 2 /* locator */
            aload 10 /* locale */
            invokevirtual sun.awt.im.InputMethodLocator.deriveLocator:(Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
            astore 2 /* locator */
        end local 10 // java.util.Locale locale
        end local 9 // int postIndex
        end local 8 // java.lang.String variant
        end local 7 // java.lang.String country
        end local 6 // java.lang.String language
        37: .line 381
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.lang.String sun.awt.im.InputMethodLocator java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* locator */
            ifnonnull 39
        38: .line 382
            return
        39: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestInputContext:Lsun/awt/im/InputContext;
            ifnull 43
        40: .line 386
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.requestInputContext:Lsun/awt/im/InputContext;
            aload 2 /* locator */
            invokevirtual sun.awt.im.InputContext.changeInputMethod:(Lsun/awt/im/InputMethodLocator;)V
        41: .line 387
            aload 0 /* this */
            aconst_null
            putfield sun.awt.im.ExecutableInputMethodManager.requestInputContext:Lsun/awt/im/InputContext;
        42: .line 390
            aload 0 /* this */
            aload 2 /* locator */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.putPreferredInputMethod:(Lsun/awt/im/InputMethodLocator;)V
        43: .line 392
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int index
        end local 4 // java.lang.String localeString
        end local 3 // java.lang.String inputMethodName
        end local 2 // sun.awt.im.InputMethodLocator locator
        end local 1 // java.lang.String choice
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   44     0             this  Lsun/awt/im/ExecutableInputMethodManager;
            0   44     1           choice  Ljava/lang/String;
            1   44     2          locator  Lsun/awt/im/InputMethodLocator;
            2   44     3  inputMethodName  Ljava/lang/String;
            3   44     4     localeString  Ljava/lang/String;
            4   44     5            index  I
           11   19     6                i  I
           13   17     7        candidate  Lsun/awt/im/InputMethodLocator;
           14   17     8             name  Ljava/lang/String;
           21   37     6         language  Ljava/lang/String;
           22   37     7          country  Ljava/lang/String;
           23   37     8          variant  Ljava/lang/String;
           24   37     9        postIndex  I
           29   35    10         preIndex  I
           36   37    10           locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      choice  

  sun.awt.im.InputMethodLocator findInputMethod(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.util.Locale locale
         0: .line 396
            aload 0 /* this */
            aload 1 /* locale */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.getPreferredInputMethod:(Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
            astore 2 /* locator */
        start local 2 // sun.awt.im.InputMethodLocator locator
         1: .line 397
            aload 2 /* locator */
            ifnull 3
         2: .line 398
            aload 2 /* locator */
            areturn
         3: .line 401
      StackMap locals: sun.awt.im.InputMethodLocator
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            ifnull 5
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            aload 1 /* locale */
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 5
         4: .line 402
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            aload 1 /* locale */
            invokevirtual sun.awt.im.InputMethodLocator.deriveLocator:(Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
            areturn
         5: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.initializeInputMethodLocatorList:()V
         6: .line 408
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 12
         8: .line 409
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            iload 3 /* i */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast sun.awt.im.InputMethodLocator
            astore 4 /* candidate */
        start local 4 // sun.awt.im.InputMethodLocator candidate
         9: .line 410
            aload 4 /* candidate */
            aload 1 /* locale */
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 11
        10: .line 411
            aload 4 /* candidate */
            aload 1 /* locale */
            invokevirtual sun.awt.im.InputMethodLocator.deriveLocator:(Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
            areturn
        end local 4 // sun.awt.im.InputMethodLocator candidate
        11: .line 408
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 8
        end local 3 // int i
        13: .line 414
            aconst_null
            areturn
        end local 2 // sun.awt.im.InputMethodLocator locator
        end local 1 // java.util.Locale locale
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lsun/awt/im/ExecutableInputMethodManager;
            0   14     1     locale  Ljava/util/Locale;
            1   14     2    locator  Lsun/awt/im/InputMethodLocator;
            7   13     3          i  I
            9   11     4  candidate  Lsun/awt/im/InputMethodLocator;
    MethodParameters:
        Name  Flags
      locale  

  java.util.Locale getDefaultKeyboardLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 418
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 1 /* toolkit */
        start local 1 // java.awt.Toolkit toolkit
         1: .line 419
            aload 1 /* toolkit */
            instanceof sun.awt.InputMethodSupport
            ifeq 3
         2: .line 420
            aload 1 /* toolkit */
            checkcast sun.awt.InputMethodSupport
            invokeinterface sun.awt.InputMethodSupport.getDefaultKeyboardLocale:()Ljava/util/Locale;
            areturn
         3: .line 422
      StackMap locals: java.awt.Toolkit
      StackMap stack:
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            areturn
        end local 1 // java.awt.Toolkit toolkit
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/awt/im/ExecutableInputMethodManager;
            1    4     1  toolkit  Ljava/awt/Toolkit;

  private synchronized sun.awt.im.InputMethodLocator getPreferredInputMethod(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.util.Locale locale
         0: .line 433
            aconst_null
            astore 2 /* preferredLocator */
        start local 2 // sun.awt.im.InputMethodLocator preferredLocator
         1: .line 435
            aload 0 /* this */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.hasMultipleInputMethods:()Z
            ifne 3
         2: .line 437
            aconst_null
            areturn
         3: .line 441
      StackMap locals: sun.awt.im.InputMethodLocator
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.preferredLocatorCache:Ljava/util/Hashtable;
            aload 1 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.awt.im.InputMethodLocator
            astore 2 /* preferredLocator */
         4: .line 442
            aload 2 /* preferredLocator */
            ifnull 6
         5: .line 443
            aload 2 /* preferredLocator */
            areturn
         6: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* locale */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.findPreferredInputMethodNode:(Ljava/util/Locale;)Ljava/lang/String;
            astore 3 /* nodePath */
        start local 3 // java.lang.String nodePath
         7: .line 448
            aload 0 /* this */
            aload 3 /* nodePath */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.readPreferredInputMethod:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* descriptorName */
        start local 4 // java.lang.String descriptorName
         8: .line 452
            aload 4 /* descriptorName */
            ifnull 29
         9: .line 454
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            ifnull 16
        10: .line 455
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            invokevirtual sun.awt.im.InputMethodLocator.getDescriptor:()Ljava/awt/im/spi/InputMethodDescriptor;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 4 /* descriptorName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        11: .line 456
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            aload 1 /* locale */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.getAdvertisedLocale:(Lsun/awt/im/InputMethodLocator;Ljava/util/Locale;)Ljava/util/Locale;
            astore 5 /* advertised */
        start local 5 // java.util.Locale advertised
        12: .line 457
            aload 5 /* advertised */
            ifnull 15
        13: .line 458
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.hostAdapterLocator:Lsun/awt/im/InputMethodLocator;
            aload 5 /* advertised */
            invokevirtual sun.awt.im.InputMethodLocator.deriveLocator:(Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
            astore 2 /* preferredLocator */
        14: .line 459
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.preferredLocatorCache:Ljava/util/Hashtable;
            aload 1 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            aload 2 /* preferredLocator */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 461
      StackMap locals: java.lang.String java.lang.String java.util.Locale
      StackMap stack:
            aload 2 /* preferredLocator */
            areturn
        end local 5 // java.util.Locale advertised
        16: .line 464
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        17: goto 27
        18: .line 465
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.util.Locale sun.awt.im.InputMethodLocator java.lang.String java.lang.String top int
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            iload 6 /* i */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast sun.awt.im.InputMethodLocator
            astore 7 /* locator */
        start local 7 // sun.awt.im.InputMethodLocator locator
        19: .line 466
            aload 7 /* locator */
            invokevirtual sun.awt.im.InputMethodLocator.getDescriptor:()Ljava/awt/im/spi/InputMethodDescriptor;
            astore 8 /* descriptor */
        start local 8 // java.awt.im.spi.InputMethodDescriptor descriptor
        20: .line 467
            aload 8 /* descriptor */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 4 /* descriptorName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        21: .line 468
            aload 0 /* this */
            aload 7 /* locator */
            aload 1 /* locale */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.getAdvertisedLocale:(Lsun/awt/im/InputMethodLocator;Ljava/util/Locale;)Ljava/util/Locale;
            astore 5 /* advertised */
        start local 5 // java.util.Locale advertised
        22: .line 469
            aload 5 /* advertised */
            ifnull 25
        23: .line 470
            aload 7 /* locator */
            aload 5 /* advertised */
            invokevirtual sun.awt.im.InputMethodLocator.deriveLocator:(Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
            astore 2 /* preferredLocator */
        24: .line 471
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.preferredLocatorCache:Ljava/util/Hashtable;
            aload 1 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            aload 2 /* preferredLocator */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 473
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.util.Locale sun.awt.im.InputMethodLocator java.lang.String java.lang.String java.util.Locale int sun.awt.im.InputMethodLocator java.awt.im.spi.InputMethodDescriptor
      StackMap stack:
            aload 2 /* preferredLocator */
            areturn
        end local 8 // java.awt.im.spi.InputMethodDescriptor descriptor
        end local 7 // sun.awt.im.InputMethodLocator locator
        end local 5 // java.util.Locale advertised
        26: .line 464
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.util.Locale sun.awt.im.InputMethodLocator java.lang.String java.lang.String top int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 6 /* i */
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.javaInputMethodLocatorList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 18
        end local 6 // int i
        28: .line 478
            aload 0 /* this */
            aload 3 /* nodePath */
            aconst_null
            invokevirtual sun.awt.im.ExecutableInputMethodManager.writePreferredInputMethod:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 481
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.util.Locale sun.awt.im.InputMethodLocator java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.String descriptorName
        end local 3 // java.lang.String nodePath
        end local 2 // sun.awt.im.InputMethodLocator preferredLocator
        end local 1 // java.util.Locale locale
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   30     0              this  Lsun/awt/im/ExecutableInputMethodManager;
            0   30     1            locale  Ljava/util/Locale;
            1   30     2  preferredLocator  Lsun/awt/im/InputMethodLocator;
            7   30     3          nodePath  Ljava/lang/String;
            8   30     4    descriptorName  Ljava/lang/String;
           12   16     5        advertised  Ljava/util/Locale;
           22   26     5        advertised  Ljava/util/Locale;
           17   28     6                 i  I
           19   26     7           locator  Lsun/awt/im/InputMethodLocator;
           20   26     8        descriptor  Ljava/awt/im/spi/InputMethodDescriptor;
    MethodParameters:
        Name  Flags
      locale  

  private java.lang.String findPreferredInputMethodNode(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.util.Locale locale
         0: .line 485
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.userRoot:Ljava/util/prefs/Preferences;
            ifnonnull 2
         1: .line 486
            aconst_null
            areturn
         2: .line 490
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "/sun/awt/im/preferredInputMethod/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* locale */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.createLocalePath:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* nodePath */
        start local 2 // java.lang.String nodePath
         3: .line 493
            goto 10
         4: .line 495
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.userRoot:Ljava/util/prefs/Preferences;
            aload 2 /* nodePath */
            invokevirtual java.util.prefs.Preferences.nodeExists:(Ljava/lang/String;)Z
            ifeq 9
         5: .line 496
            aload 0 /* this */
            aload 2 /* nodePath */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.readPreferredInputMethod:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 9
         6: .line 497
            aload 2 /* nodePath */
         7: areturn
         8: .line 500
      StackMap locals:
      StackMap stack: java.util.prefs.BackingStoreException
            pop
         9: .line 504
      StackMap locals:
      StackMap stack:
            aload 2 /* nodePath */
            iconst_0
            aload 2 /* nodePath */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* nodePath */
        10: .line 493
      StackMap locals:
      StackMap stack:
            aload 2 /* nodePath */
            ldc "/sun/awt/im/preferredInputMethod"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
        11: .line 507
            aconst_null
            areturn
        end local 2 // java.lang.String nodePath
        end local 1 // java.util.Locale locale
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lsun/awt/im/ExecutableInputMethodManager;
            0   12     1    locale  Ljava/util/Locale;
            3   12     2  nodePath  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     7       8  Class java.util.prefs.BackingStoreException
    MethodParameters:
        Name  Flags
      locale  

  private java.lang.String readPreferredInputMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.lang.String nodePath
         0: .line 511
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.userRoot:Ljava/util/prefs/Preferences;
            ifnull 1
            aload 1 /* nodePath */
            ifnonnull 2
         1: .line 512
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.userRoot:Ljava/util/prefs/Preferences;
            aload 1 /* nodePath */
            invokevirtual java.util.prefs.Preferences.node:(Ljava/lang/String;)Ljava/util/prefs/Preferences;
            ldc "descriptor"
            aconst_null
            invokevirtual java.util.prefs.Preferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String nodePath
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/awt/im/ExecutableInputMethodManager;
            0    3     1  nodePath  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      nodePath  

  private synchronized void putPreferredInputMethod(sun.awt.im.InputMethodLocator);
    descriptor: (Lsun/awt/im/InputMethodLocator;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // sun.awt.im.InputMethodLocator locator
         0: .line 525
            aload 1 /* locator */
            invokevirtual sun.awt.im.InputMethodLocator.getDescriptor:()Ljava/awt/im/spi/InputMethodDescriptor;
            astore 2 /* descriptor */
        start local 2 // java.awt.im.spi.InputMethodDescriptor descriptor
         1: .line 526
            aload 1 /* locator */
            invokevirtual sun.awt.im.InputMethodLocator.getLocale:()Ljava/util/Locale;
            astore 3 /* preferredLocale */
        start local 3 // java.util.Locale preferredLocale
         2: .line 528
            aload 3 /* preferredLocale */
            ifnonnull 10
         3: .line 531
            aload 2 /* descriptor */
            invokeinterface java.awt.im.spi.InputMethodDescriptor.getAvailableLocales:()[Ljava/util/Locale;
            astore 4 /* availableLocales */
        start local 4 // java.util.Locale[] availableLocales
         4: .line 532
            aload 4 /* availableLocales */
            arraylength
            iconst_1
            if_icmpne 7
         5: .line 533
            aload 4 /* availableLocales */
            iconst_0
            aaload
            astore 3 /* preferredLocale */
         6: .line 534
            goto 10
         7: .line 536
      StackMap locals: java.awt.im.spi.InputMethodDescriptor java.util.Locale java.util.Locale[]
      StackMap stack:
            return
        end local 4 // java.util.Locale[] availableLocales
         8: .line 538
      StackMap locals: sun.awt.im.ExecutableInputMethodManager sun.awt.im.InputMethodLocator java.awt.im.spi.InputMethodDescriptor java.util.Locale
      StackMap stack: java.awt.AWTException
            pop
         9: .line 540
            return
        10: .line 546
      StackMap locals:
      StackMap stack:
            aload 3 /* preferredLocale */
            getstatic java.util.Locale.JAPAN:Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 547
            getstatic java.util.Locale.JAPANESE:Ljava/util/Locale;
            astore 3 /* preferredLocale */
        12: .line 549
      StackMap locals:
      StackMap stack:
            aload 3 /* preferredLocale */
            getstatic java.util.Locale.KOREA:Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 550
            getstatic java.util.Locale.KOREAN:Ljava/util/Locale;
            astore 3 /* preferredLocale */
        14: .line 552
      StackMap locals:
      StackMap stack:
            aload 3 /* preferredLocale */
            new java.util.Locale
            dup
            ldc "th"
            ldc "TH"
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 553
            new java.util.Locale
            dup
            ldc "th"
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;)V
            astore 3 /* preferredLocale */
        16: .line 557
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "/sun/awt/im/preferredInputMethod/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 3 /* preferredLocale */
            invokevirtual sun.awt.im.ExecutableInputMethodManager.createLocalePath:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
        17: .line 560
            aload 0 /* this */
            aload 4 /* path */
            aload 2 /* descriptor */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual sun.awt.im.ExecutableInputMethodManager.writePreferredInputMethod:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 561
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.preferredLocatorCache:Ljava/util/Hashtable;
            aload 3 /* preferredLocale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
        19: .line 562
            aload 1 /* locator */
            aload 3 /* preferredLocale */
            invokevirtual sun.awt.im.InputMethodLocator.deriveLocator:(Ljava/util/Locale;)Lsun/awt/im/InputMethodLocator;
        20: .line 561
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 564
            return
        end local 4 // java.lang.String path
        end local 3 // java.util.Locale preferredLocale
        end local 2 // java.awt.im.spi.InputMethodDescriptor descriptor
        end local 1 // sun.awt.im.InputMethodLocator locator
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lsun/awt/im/ExecutableInputMethodManager;
            0   22     1           locator  Lsun/awt/im/InputMethodLocator;
            1   22     2        descriptor  Ljava/awt/im/spi/InputMethodDescriptor;
            2   22     3   preferredLocale  Ljava/util/Locale;
            4    8     4  availableLocales  [Ljava/util/Locale;
           17   22     4              path  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     7       8  Class java.awt.AWTException
    MethodParameters:
         Name  Flags
      locator  

  private java.lang.String createLocalePath(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.util.Locale locale
         0: .line 568
            aload 1 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            astore 2 /* language */
        start local 2 // java.lang.String language
         1: .line 569
            aload 1 /* locale */
            invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
            astore 3 /* country */
        start local 3 // java.lang.String country
         2: .line 570
            aload 1 /* locale */
            invokevirtual java.util.Locale.getVariant:()Ljava/lang/String;
            astore 4 /* variant */
        start local 4 // java.lang.String variant
         3: .line 571
            aconst_null
            astore 5 /* localePath */
        start local 5 // java.lang.String localePath
         4: .line 572
            aload 4 /* variant */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 573
            new java.lang.StringBuilder
            dup
            ldc "_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* language */
            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 /* country */
            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 /* variant */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* localePath */
         6: .line 574
            goto 11
      StackMap locals: sun.awt.im.ExecutableInputMethodManager java.util.Locale java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
         7: aload 3 /* country */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         8: .line 575
            new java.lang.StringBuilder
            dup
            ldc "_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* language */
            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 /* country */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* localePath */
         9: .line 576
            goto 11
        10: .line 577
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* language */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* localePath */
        11: .line 580
      StackMap locals:
      StackMap stack:
            aload 5 /* localePath */
            areturn
        end local 5 // java.lang.String localePath
        end local 4 // java.lang.String variant
        end local 3 // java.lang.String country
        end local 2 // java.lang.String language
        end local 1 // java.util.Locale locale
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lsun/awt/im/ExecutableInputMethodManager;
            0   12     1      locale  Ljava/util/Locale;
            1   12     2    language  Ljava/lang/String;
            2   12     3     country  Ljava/lang/String;
            3   12     4     variant  Ljava/lang/String;
            4   12     5  localePath  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      locale  

  private void writePreferredInputMethod(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // java.lang.String path
        start local 2 // java.lang.String descriptorName
         0: .line 584
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.userRoot:Ljava/util/prefs/Preferences;
            ifnull 6
         1: .line 585
            aload 0 /* this */
            getfield sun.awt.im.ExecutableInputMethodManager.userRoot:Ljava/util/prefs/Preferences;
            aload 1 /* path */
            invokevirtual java.util.prefs.Preferences.node:(Ljava/lang/String;)Ljava/util/prefs/Preferences;
            astore 3 /* node */
        start local 3 // java.util.prefs.Preferences node
         2: .line 588
            aload 2 /* descriptorName */
            ifnull 5
         3: .line 589
            aload 3 /* node */
            ldc "descriptor"
            aload 2 /* descriptorName */
            invokevirtual java.util.prefs.Preferences.put:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 590
            goto 6
         5: .line 591
      StackMap locals: java.util.prefs.Preferences
      StackMap stack:
            aload 3 /* node */
            ldc "descriptor"
            invokevirtual java.util.prefs.Preferences.remove:(Ljava/lang/String;)V
        end local 3 // java.util.prefs.Preferences node
         6: .line 594
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String descriptorName
        end local 1 // java.lang.String path
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lsun/awt/im/ExecutableInputMethodManager;
            0    7     1            path  Ljava/lang/String;
            0    7     2  descriptorName  Ljava/lang/String;
            2    6     3            node  Ljava/util/prefs/Preferences;
    MethodParameters:
                Name  Flags
      path            
      descriptorName  

  private java.util.prefs.Preferences getUserRoot();
    descriptor: ()Ljava/util/prefs/Preferences;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
         0: .line 597
            new sun.awt.im.ExecutableInputMethodManager$4
            dup
            aload 0 /* this */
            invokespecial sun.awt.im.ExecutableInputMethodManager$4.<init>:(Lsun/awt/im/ExecutableInputMethodManager;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.util.prefs.Preferences
            areturn
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/im/ExecutableInputMethodManager;

  private java.util.Locale getAdvertisedLocale(sun.awt.im.InputMethodLocator, java.util.Locale);
    descriptor: (Lsun/awt/im/InputMethodLocator;Ljava/util/Locale;)Ljava/util/Locale;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.awt.im.ExecutableInputMethodManager this
        start local 1 // sun.awt.im.InputMethodLocator locator
        start local 2 // java.util.Locale locale
         0: .line 605
            aconst_null
            astore 3 /* advertised */
        start local 3 // java.util.Locale advertised
         1: .line 607
            aload 1 /* locator */
            aload 2 /* locale */
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 4
         2: .line 608
            aload 2 /* locale */
            astore 3 /* advertised */
         3: .line 609
            goto 24
      StackMap locals: java.util.Locale
      StackMap stack:
         4: aload 2 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            ldc "ja"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         5: .line 612
            aload 1 /* locator */
            getstatic java.util.Locale.JAPAN:Ljava/util/Locale;
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 8
         6: .line 613
            getstatic java.util.Locale.JAPAN:Ljava/util/Locale;
            astore 3 /* advertised */
         7: .line 614
            goto 24
      StackMap locals:
      StackMap stack:
         8: aload 1 /* locator */
            getstatic java.util.Locale.JAPANESE:Ljava/util/Locale;
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 24
         9: .line 615
            getstatic java.util.Locale.JAPANESE:Ljava/util/Locale;
            astore 3 /* advertised */
        10: .line 617
            goto 24
      StackMap locals:
      StackMap stack:
        11: aload 2 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            ldc "ko"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        12: .line 618
            aload 1 /* locator */
            getstatic java.util.Locale.KOREA:Ljava/util/Locale;
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 15
        13: .line 619
            getstatic java.util.Locale.KOREA:Ljava/util/Locale;
            astore 3 /* advertised */
        14: .line 620
            goto 24
      StackMap locals:
      StackMap stack:
        15: aload 1 /* locator */
            getstatic java.util.Locale.KOREAN:Ljava/util/Locale;
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 24
        16: .line 621
            getstatic java.util.Locale.KOREAN:Ljava/util/Locale;
            astore 3 /* advertised */
        17: .line 623
            goto 24
      StackMap locals:
      StackMap stack:
        18: aload 2 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            ldc "th"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        19: .line 624
            aload 1 /* locator */
            new java.util.Locale
            dup
            ldc "th"
            ldc "TH"
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 22
        20: .line 625
            new java.util.Locale
            dup
            ldc "th"
            ldc "TH"
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* advertised */
        21: .line 626
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 1 /* locator */
            new java.util.Locale
            dup
            ldc "th"
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;)V
            invokevirtual sun.awt.im.InputMethodLocator.isLocaleAvailable:(Ljava/util/Locale;)Z
            ifeq 24
        23: .line 627
            new java.util.Locale
            dup
            ldc "th"
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;)V
            astore 3 /* advertised */
        24: .line 631
      StackMap locals:
      StackMap stack:
            aload 3 /* advertised */
            areturn
        end local 3 // java.util.Locale advertised
        end local 2 // java.util.Locale locale
        end local 1 // sun.awt.im.InputMethodLocator locator
        end local 0 // sun.awt.im.ExecutableInputMethodManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0        this  Lsun/awt/im/ExecutableInputMethodManager;
            0   25     1     locator  Lsun/awt/im/InputMethodLocator;
            0   25     2      locale  Ljava/util/Locale;
            1   25     3  advertised  Ljava/util/Locale;
    MethodParameters:
         Name  Flags
      locator  
      locale   
}
SourceFile: "ExecutableInputMethodManager.java"
NestMembers:
  sun.awt.im.ExecutableInputMethodManager$1  sun.awt.im.ExecutableInputMethodManager$1AWTInvocationLock  sun.awt.im.ExecutableInputMethodManager$2  sun.awt.im.ExecutableInputMethodManager$3  sun.awt.im.ExecutableInputMethodManager$4
InnerClasses:
  sun.awt.im.ExecutableInputMethodManager$1
  AWTInvocationLock = sun.awt.im.ExecutableInputMethodManager$1AWTInvocationLock
  sun.awt.im.ExecutableInputMethodManager$2
  sun.awt.im.ExecutableInputMethodManager$3
  sun.awt.im.ExecutableInputMethodManager$4