public class javax.swing.text.DefaultFormatter extends javax.swing.JFormattedTextField$AbstractFormatter implements java.lang.Cloneable, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.text.DefaultFormatter
  super_class: javax.swing.JFormattedTextField$AbstractFormatter
{
  private boolean allowsInvalid;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean overwriteMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean commitOnEdit;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Class<?> valueClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<*>;

  private javax.swing.text.NavigationFilter navigationFilter;
    descriptor: Ljavax/swing/text/NavigationFilter;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.text.DocumentFilter documentFilter;
    descriptor: Ljavax/swing/text/DocumentFilter;
    flags: (0x0002) ACC_PRIVATE

  transient javax.swing.text.DefaultFormatter$ReplaceHolder replaceHolder;
    descriptor: Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
    flags: (0x0080) ACC_TRANSIENT

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 89
            aload 0 /* this */
            invokespecial javax.swing.JFormattedTextField$AbstractFormatter.<init>:()V
         1: .line 90
            aload 0 /* this */
            iconst_1
            putfield javax.swing.text.DefaultFormatter.overwriteMode:Z
         2: .line 91
            aload 0 /* this */
            iconst_1
            putfield javax.swing.text.DefaultFormatter.allowsInvalid:Z
         3: .line 92
            return
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/text/DefaultFormatter;

  public void install(javax.swing.JFormattedTextField);
    descriptor: (Ljavax/swing/JFormattedTextField;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.JFormattedTextField ftf
         0: .line 125
            aload 0 /* this */
            aload 1 /* ftf */
            invokespecial javax.swing.JFormattedTextField$AbstractFormatter.install:(Ljavax/swing/JFormattedTextField;)V
         1: .line 126
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.positionCursorAtInitialLocation:()V
         2: .line 127
            return
        end local 1 // javax.swing.JFormattedTextField ftf
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/text/DefaultFormatter;
            0    3     1   ftf  Ljavax/swing/JFormattedTextField;
    MethodParameters:
      Name  Flags
      ftf   

  public void setCommitsOnValidEdit(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // boolean commit
         0: .line 144
            aload 0 /* this */
            iload 1 /* commit */
            putfield javax.swing.text.DefaultFormatter.commitOnEdit:Z
         1: .line 145
            return
        end local 1 // boolean commit
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavax/swing/text/DefaultFormatter;
            0    2     1  commit  Z
    MethodParameters:
        Name  Flags
      commit  

  public boolean getCommitsOnValidEdit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 154
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.commitOnEdit:Z
            ireturn
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/text/DefaultFormatter;

  public void setOverwriteMode(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // boolean overwriteMode
         0: .line 165
            aload 0 /* this */
            iload 1 /* overwriteMode */
            putfield javax.swing.text.DefaultFormatter.overwriteMode:Z
         1: .line 166
            return
        end local 1 // boolean overwriteMode
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljavax/swing/text/DefaultFormatter;
            0    2     1  overwriteMode  Z
    MethodParameters:
               Name  Flags
      overwriteMode  

  public boolean getOverwriteMode();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 174
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.overwriteMode:Z
            ireturn
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/text/DefaultFormatter;

  public void setAllowsInvalid(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // boolean allowsInvalid
         0: .line 188
            aload 0 /* this */
            iload 1 /* allowsInvalid */
            putfield javax.swing.text.DefaultFormatter.allowsInvalid:Z
         1: .line 189
            return
        end local 1 // boolean allowsInvalid
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljavax/swing/text/DefaultFormatter;
            0    2     1  allowsInvalid  Z
    MethodParameters:
               Name  Flags
      allowsInvalid  

  public boolean getAllowsInvalid();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 198
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.allowsInvalid:Z
            ireturn
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/text/DefaultFormatter;

  public void setValueClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // java.lang.Class valueClass
         0: .line 210
            aload 0 /* this */
            aload 1 /* valueClass */
            putfield javax.swing.text.DefaultFormatter.valueClass:Ljava/lang/Class;
         1: .line 211
            return
        end local 1 // java.lang.Class valueClass
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljavax/swing/text/DefaultFormatter;
            0    2     1  valueClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
            Name  Flags
      valueClass  

  public java.lang.Class<?> getValueClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 219
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.valueClass:Ljava/lang/Class;
            areturn
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/text/DefaultFormatter;
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.Object stringToValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // java.lang.String string
         0: .line 237
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getValueClass:()Ljava/lang/Class;
            astore 2 /* vc */
        start local 2 // java.lang.Class vc
         1: .line 238
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            astore 3 /* ftf */
        start local 3 // javax.swing.JFormattedTextField ftf
         2: .line 240
            aload 2 /* vc */
            ifnonnull 6
            aload 3 /* ftf */
            ifnull 6
         3: .line 241
            aload 3 /* ftf */
            invokevirtual javax.swing.JFormattedTextField.getValue:()Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         4: .line 243
            aload 4 /* value */
            ifnull 6
         5: .line 244
            aload 4 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* vc */
        end local 4 // java.lang.Object value
         6: .line 247
      StackMap locals: java.lang.Class javax.swing.JFormattedTextField
      StackMap stack:
            aload 2 /* vc */
            ifnull 19
         7: .line 251
            aload 2 /* vc */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
         8: .line 252
            aload 2 /* vc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic sun.swing.SwingUtilities2.checkAccess:(I)V
         9: .line 253
            aload 2 /* vc */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 4 /* cons */
        start local 4 // java.lang.reflect.Constructor cons
        10: .line 255
            goto 13
        end local 4 // java.lang.reflect.Constructor cons
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        11: pop
        12: .line 256
            aconst_null
            astore 4 /* cons */
        start local 4 // java.lang.reflect.Constructor cons
        13: .line 259
      StackMap locals: java.lang.reflect.Constructor
      StackMap stack:
            aload 4 /* cons */
            ifnull 19
        14: .line 261
            aload 4 /* cons */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            invokestatic sun.swing.SwingUtilities2.checkAccess:(I)V
        15: .line 262
            aload 4 /* cons */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* string */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
        16: areturn
        17: .line 263
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        18: .line 264
            new java.text.ParseException
            dup
            ldc "Error creating instance"
            iconst_0
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
        end local 4 // java.lang.reflect.Constructor cons
        19: .line 268
      StackMap locals:
      StackMap stack:
            aload 1 /* string */
            areturn
        end local 3 // javax.swing.JFormattedTextField ftf
        end local 2 // java.lang.Class vc
        end local 1 // java.lang.String string
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Ljavax/swing/text/DefaultFormatter;
            0   20     1  string  Ljava/lang/String;
            1   20     2      vc  Ljava/lang/Class<*>;
            2   20     3     ftf  Ljavax/swing/JFormattedTextField;
            4    6     4   value  Ljava/lang/Object;
           10   11     4    cons  Ljava/lang/reflect/Constructor;
           13   19     4    cons  Ljava/lang/reflect/Constructor;
      Exception table:
        from    to  target  type
           7    10      11  Class java.lang.NoSuchMethodException
          14    16      17  Class java.lang.Throwable
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
        Name  Flags
      string  

  public java.lang.String valueToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // java.lang.Object value
         0: .line 280
            aload 1 /* value */
            ifnonnull 2
         1: .line 281
            ldc ""
            areturn
         2: .line 283
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/swing/text/DefaultFormatter;
            0    3     1  value  Ljava/lang/Object;
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
       Name  Flags
      value  

  protected javax.swing.text.DocumentFilter getDocumentFilter();
    descriptor: ()Ljavax/swing/text/DocumentFilter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 293
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.documentFilter:Ljavax/swing/text/DocumentFilter;
            ifnonnull 2
         1: .line 294
            aload 0 /* this */
            new javax.swing.text.DefaultFormatter$DefaultDocumentFilter
            dup
            aload 0 /* this */
            invokespecial javax.swing.text.DefaultFormatter$DefaultDocumentFilter.<init>:(Ljavax/swing/text/DefaultFormatter;)V
            putfield javax.swing.text.DefaultFormatter.documentFilter:Ljavax/swing/text/DocumentFilter;
         2: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.documentFilter:Ljavax/swing/text/DocumentFilter;
            areturn
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/text/DefaultFormatter;

  protected javax.swing.text.NavigationFilter getNavigationFilter();
    descriptor: ()Ljavax/swing/text/NavigationFilter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 306
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.navigationFilter:Ljavax/swing/text/NavigationFilter;
            ifnonnull 2
         1: .line 307
            aload 0 /* this */
            new javax.swing.text.DefaultFormatter$DefaultNavigationFilter
            dup
            aload 0 /* this */
            invokespecial javax.swing.text.DefaultFormatter$DefaultNavigationFilter.<init>:(Ljavax/swing/text/DefaultFormatter;)V
            putfield javax.swing.text.DefaultFormatter.navigationFilter:Ljavax/swing/text/NavigationFilter;
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.navigationFilter:Ljavax/swing/text/NavigationFilter;
            areturn
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/text/DefaultFormatter;

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 318
            aload 0 /* this */
            invokespecial javax.swing.JFormattedTextField$AbstractFormatter.clone:()Ljava/lang/Object;
            checkcast javax.swing.text.DefaultFormatter
            astore 1 /* formatter */
        start local 1 // javax.swing.text.DefaultFormatter formatter
         1: .line 320
            aload 1 /* formatter */
            aconst_null
            putfield javax.swing.text.DefaultFormatter.navigationFilter:Ljavax/swing/text/NavigationFilter;
         2: .line 321
            aload 1 /* formatter */
            aconst_null
            putfield javax.swing.text.DefaultFormatter.documentFilter:Ljavax/swing/text/DocumentFilter;
         3: .line 322
            aload 1 /* formatter */
            aconst_null
            putfield javax.swing.text.DefaultFormatter.replaceHolder:Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
         4: .line 323
            aload 1 /* formatter */
            areturn
        end local 1 // javax.swing.text.DefaultFormatter formatter
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljavax/swing/text/DefaultFormatter;
            1    5     1  formatter  Ljavax/swing/text/DefaultFormatter;
    Exceptions:
      throws java.lang.CloneNotSupportedException

  void positionCursorAtInitialLocation();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 331
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            astore 1 /* ftf */
        start local 1 // javax.swing.JFormattedTextField ftf
         1: .line 332
            aload 1 /* ftf */
            ifnull 3
         2: .line 333
            aload 1 /* ftf */
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getInitialVisualPosition:()I
            invokevirtual javax.swing.JFormattedTextField.setCaretPosition:(I)V
         3: .line 335
      StackMap locals: javax.swing.JFormattedTextField
      StackMap stack:
            return
        end local 1 // javax.swing.JFormattedTextField ftf
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/text/DefaultFormatter;
            1    4     1   ftf  Ljavax/swing/JFormattedTextField;

  int getInitialVisualPosition();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 342
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual javax.swing.text.DefaultFormatter.getNextNavigatableChar:(II)I
            ireturn
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/text/DefaultFormatter;

  boolean isNavigatable(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // int offset
         0: .line 352
            iconst_1
            ireturn
        end local 1 // int offset
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavax/swing/text/DefaultFormatter;
            0    1     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  boolean isLegalInsertText(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // java.lang.String text
         0: .line 361
            iconst_1
            ireturn
        end local 1 // java.lang.String text
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/text/DefaultFormatter;
            0    1     1  text  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      text  

  private int getNextNavigatableChar(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // int offset
        start local 2 // int direction
         0: .line 369
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            invokevirtual javax.swing.JFormattedTextField.getDocument:()Ljavax/swing/text/Document;
            invokeinterface javax.swing.text.Document.getLength:()I
            istore 3 /* max */
        start local 3 // int max
         1: .line 371
            goto 5
         2: .line 372
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* offset */
            invokevirtual javax.swing.text.DefaultFormatter.isNavigatable:(I)Z
            ifeq 4
         3: .line 373
            iload 1 /* offset */
            ireturn
         4: .line 375
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            iload 2 /* direction */
            iadd
            istore 1 /* offset */
         5: .line 371
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            iflt 6
            iload 1 /* offset */
            iload 3 /* max */
            if_icmplt 2
         6: .line 377
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            ireturn
        end local 3 // int max
        end local 2 // int direction
        end local 1 // int offset
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljavax/swing/text/DefaultFormatter;
            0    7     1     offset  I
            0    7     2  direction  I
            1    7     3        max  I
    MethodParameters:
           Name  Flags
      offset     
      direction  

  java.lang.String getReplaceString(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // int offset
        start local 2 // int deleteLength
        start local 3 // java.lang.String replaceString
         0: .line 388
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            invokevirtual javax.swing.JFormattedTextField.getText:()Ljava/lang/String;
            astore 4 /* string */
        start local 4 // java.lang.String string
         1: .line 391
            aload 4 /* string */
            iconst_0
            iload 1 /* offset */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* result */
        start local 5 // java.lang.String result
         2: .line 392
            aload 3 /* replaceString */
            ifnull 4
         3: .line 393
            new java.lang.StringBuilder
            dup
            aload 5 /* result */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* replaceString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* result */
         4: .line 395
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 1 /* offset */
            iload 2 /* deleteLength */
            iadd
            aload 4 /* string */
            invokevirtual java.lang.String.length:()I
            if_icmpge 6
         5: .line 396
            new java.lang.StringBuilder
            dup
            aload 5 /* result */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* string */
            iload 1 /* offset */
            iload 2 /* deleteLength */
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* result */
         6: .line 398
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // java.lang.String result
        end local 4 // java.lang.String string
        end local 3 // java.lang.String replaceString
        end local 2 // int deleteLength
        end local 1 // int offset
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljavax/swing/text/DefaultFormatter;
            0    7     1         offset  I
            0    7     2   deleteLength  I
            0    7     3  replaceString  Ljava/lang/String;
            1    7     4         string  Ljava/lang/String;
            2    7     5         result  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      offset         
      deleteLength   
      replaceString  

  boolean isValidEdit(javax.swing.text.DefaultFormatter$ReplaceHolder);
    descriptor: (Ljavax/swing/text/DefaultFormatter$ReplaceHolder;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.text.DefaultFormatter$ReplaceHolder rh
         0: .line 407
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getAllowsInvalid:()Z
            ifne 6
         1: .line 408
            aload 0 /* this */
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.offset:I
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.length:I
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            invokevirtual javax.swing.text.DefaultFormatter.getReplaceString:(IILjava/lang/String;)Ljava/lang/String;
            astore 2 /* newString */
        start local 2 // java.lang.String newString
         2: .line 411
            aload 1 /* rh */
            aload 0 /* this */
            aload 2 /* newString */
            invokevirtual javax.swing.text.DefaultFormatter.stringToValue:(Ljava/lang/String;)Ljava/lang/Object;
            putfield javax.swing.text.DefaultFormatter$ReplaceHolder.value:Ljava/lang/Object;
         3: .line 413
            iconst_1
            ireturn
         4: .line 414
      StackMap locals: javax.swing.text.DefaultFormatter javax.swing.text.DefaultFormatter$ReplaceHolder java.lang.String
      StackMap stack: java.text.ParseException
            pop
         5: .line 415
            iconst_0
            ireturn
        end local 2 // java.lang.String newString
         6: .line 418
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // javax.swing.text.DefaultFormatter$ReplaceHolder rh
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljavax/swing/text/DefaultFormatter;
            0    7     1         rh  Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
            2    6     2  newString  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class java.text.ParseException
    MethodParameters:
      Name  Flags
      rh    

  void commitEdit();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 425
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            astore 1 /* ftf */
        start local 1 // javax.swing.JFormattedTextField ftf
         1: .line 427
            aload 1 /* ftf */
            ifnull 3
         2: .line 428
            aload 1 /* ftf */
            invokevirtual javax.swing.JFormattedTextField.commitEdit:()V
         3: .line 430
      StackMap locals: javax.swing.JFormattedTextField
      StackMap stack:
            return
        end local 1 // javax.swing.JFormattedTextField ftf
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/text/DefaultFormatter;
            1    4     1   ftf  Ljavax/swing/JFormattedTextField;
    Exceptions:
      throws java.text.ParseException

  void updateValue();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.text.DefaultFormatter this
         0: .line 438
            aload 0 /* this */
            aconst_null
            invokevirtual javax.swing.text.DefaultFormatter.updateValue:(Ljava/lang/Object;)V
         1: .line 439
            return
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/text/DefaultFormatter;

  void updateValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // java.lang.Object value
         0: .line 448
            aload 1 /* value */
            ifnonnull 3
         1: .line 449
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            invokevirtual javax.swing.JFormattedTextField.getText:()Ljava/lang/String;
            astore 2 /* string */
        start local 2 // java.lang.String string
         2: .line 451
            aload 0 /* this */
            aload 2 /* string */
            invokevirtual javax.swing.text.DefaultFormatter.stringToValue:(Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* value */
        end local 2 // java.lang.String string
         3: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getCommitsOnValidEdit:()Z
            ifeq 5
         4: .line 455
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.commitEdit:()V
         5: .line 457
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual javax.swing.text.DefaultFormatter.setEditValid:(Z)V
         6: .line 458
            goto 9
      StackMap locals:
      StackMap stack: java.text.ParseException
         7: pop
         8: .line 459
            aload 0 /* this */
            iconst_0
            invokevirtual javax.swing.text.DefaultFormatter.setEditValid:(Z)V
         9: .line 461
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object value
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljavax/swing/text/DefaultFormatter;
            0   10     1   value  Ljava/lang/Object;
            2    3     2  string  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     6       7  Class java.text.ParseException
    MethodParameters:
       Name  Flags
      value  

  int getNextCursorPosition(int, int);
    descriptor: (II)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // int offset
        start local 2 // int direction
         0: .line 470
            aload 0 /* this */
            iload 1 /* offset */
            iload 2 /* direction */
            invokevirtual javax.swing.text.DefaultFormatter.getNextNavigatableChar:(II)I
            istore 3 /* newOffset */
        start local 3 // int newOffset
         1: .line 471
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            invokevirtual javax.swing.JFormattedTextField.getDocument:()Ljavax/swing/text/Document;
            invokeinterface javax.swing.text.Document.getLength:()I
            istore 4 /* max */
        start local 4 // int max
         2: .line 473
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getAllowsInvalid:()Z
            ifne 12
         3: .line 474
            iload 2 /* direction */
            iconst_m1
            if_icmpne 8
            iload 1 /* offset */
            iload 3 /* newOffset */
            if_icmpne 8
         4: .line 477
            aload 0 /* this */
            iload 3 /* newOffset */
            iconst_1
            invokevirtual javax.swing.text.DefaultFormatter.getNextNavigatableChar:(II)I
            istore 3 /* newOffset */
         5: .line 478
            iload 3 /* newOffset */
            iload 4 /* max */
            if_icmplt 12
         6: .line 479
            iload 1 /* offset */
            istore 3 /* newOffset */
         7: .line 481
            goto 12
         8: .line 482
      StackMap locals: int int
      StackMap stack:
            iload 2 /* direction */
            iconst_1
            if_icmpne 12
            iload 3 /* newOffset */
            iload 4 /* max */
            if_icmplt 12
         9: .line 484
            aload 0 /* this */
            iload 4 /* max */
            iconst_1
            isub
            iconst_m1
            invokevirtual javax.swing.text.DefaultFormatter.getNextNavigatableChar:(II)I
            istore 3 /* newOffset */
        10: .line 485
            iload 3 /* newOffset */
            iload 4 /* max */
            if_icmpge 12
        11: .line 486
            iinc 3 /* newOffset */ 1
        12: .line 490
      StackMap locals:
      StackMap stack:
            iload 3 /* newOffset */
            ireturn
        end local 4 // int max
        end local 3 // int newOffset
        end local 2 // int direction
        end local 1 // int offset
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Ljavax/swing/text/DefaultFormatter;
            0   13     1     offset  I
            0   13     2  direction  I
            1   13     3  newOffset  I
            2   13     4        max  I
    MethodParameters:
           Name  Flags
      offset     
      direction  

  void repositionCursor(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // int offset
        start local 2 // int direction
         0: .line 497
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            invokevirtual javax.swing.JFormattedTextField.getCaret:()Ljavax/swing/text/Caret;
            aload 0 /* this */
         1: .line 498
            iload 1 /* offset */
            iload 2 /* direction */
         2: .line 497
            invokevirtual javax.swing.text.DefaultFormatter.getNextCursorPosition:(II)I
            invokeinterface javax.swing.text.Caret.setDot:(I)V
         3: .line 499
            return
        end local 2 // int direction
        end local 1 // int offset
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljavax/swing/text/DefaultFormatter;
            0    4     1     offset  I
            0    4     2  direction  I
    MethodParameters:
           Name  Flags
      offset     
      direction  

  int getNextVisualPositionFrom(javax.swing.text.JTextComponent, int, javax.swing.text.Position$Bias, int, javax.swing.text.Position$Bias[]);
    descriptor: (Ljavax/swing/text/JTextComponent;ILjavax/swing/text/Position$Bias;I[Ljavax/swing/text/Position$Bias;)I
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.text.JTextComponent text
        start local 2 // int pos
        start local 3 // javax.swing.text.Position$Bias bias
        start local 4 // int direction
        start local 5 // javax.swing.text.Position$Bias[] biasRet
         0: .line 509
            aload 1 /* text */
            invokevirtual javax.swing.text.JTextComponent.getUI:()Ljavax/swing/plaf/TextUI;
            aload 1 /* text */
            iload 2 /* pos */
            aload 3 /* bias */
         1: .line 510
            iload 4 /* direction */
            aload 5 /* biasRet */
         2: .line 509
            invokevirtual javax.swing.plaf.TextUI.getNextVisualPositionFrom:(Ljavax/swing/text/JTextComponent;ILjavax/swing/text/Position$Bias;I[Ljavax/swing/text/Position$Bias;)I
            istore 6 /* value */
        start local 6 // int value
         3: .line 512
            iload 6 /* value */
            iconst_m1
            if_icmpne 5
         4: .line 513
            iconst_m1
            ireturn
         5: .line 515
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getAllowsInvalid:()Z
            ifne 22
            iload 4 /* direction */
            iconst_3
            if_icmpeq 7
         6: .line 516
            iload 4 /* direction */
            bipush 7
            if_icmpne 22
         7: .line 517
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 7 /* last */
        start local 7 // int last
         8: .line 519
            goto 13
         9: .line 520
      StackMap locals: int
      StackMap stack:
            iload 6 /* value */
            istore 7 /* last */
        10: .line 521
            aload 1 /* text */
            invokevirtual javax.swing.text.JTextComponent.getUI:()Ljavax/swing/plaf/TextUI;
        11: .line 522
            aload 1 /* text */
            iload 6 /* value */
            aload 3 /* bias */
            iload 4 /* direction */
            aload 5 /* biasRet */
        12: .line 521
            invokevirtual javax.swing.plaf.TextUI.getNextVisualPositionFrom:(Ljavax/swing/text/JTextComponent;ILjavax/swing/text/Position$Bias;I[Ljavax/swing/text/Position$Bias;)I
            istore 6 /* value */
        13: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* value */
            invokevirtual javax.swing.text.DefaultFormatter.isNavigatable:(I)Z
            ifne 14
            iload 6 /* value */
            iload 7 /* last */
            if_icmpne 9
        14: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            invokevirtual javax.swing.JFormattedTextField.getDocument:()Ljavax/swing/text/Document;
            invokeinterface javax.swing.text.Document.getLength:()I
            istore 8 /* max */
        start local 8 // int max
        15: .line 525
            iload 7 /* last */
            iload 6 /* value */
            if_icmpeq 16
            iload 6 /* value */
            iload 8 /* max */
            if_icmpne 22
        16: .line 526
      StackMap locals: int
      StackMap stack:
            iload 6 /* value */
            ifne 19
        17: .line 527
            aload 5 /* biasRet */
            iconst_0
            getstatic javax.swing.text.Position$Bias.Forward:Ljavax/swing/text/Position$Bias;
            aastore
        18: .line 528
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getInitialVisualPosition:()I
            istore 6 /* value */
        19: .line 530
      StackMap locals:
      StackMap stack:
            iload 6 /* value */
            iload 8 /* max */
            if_icmplt 22
            iload 8 /* max */
            ifle 22
        20: .line 532
            aload 5 /* biasRet */
            iconst_0
            getstatic javax.swing.text.Position$Bias.Forward:Ljavax/swing/text/Position$Bias;
            aastore
        21: .line 533
            aload 0 /* this */
            iload 8 /* max */
            iconst_1
            isub
            iconst_m1
            invokevirtual javax.swing.text.DefaultFormatter.getNextNavigatableChar:(II)I
            iconst_1
            iadd
            istore 6 /* value */
        end local 8 // int max
        end local 7 // int last
        22: .line 537
      StackMap locals:
      StackMap stack:
            iload 6 /* value */
            ireturn
        end local 6 // int value
        end local 5 // javax.swing.text.Position$Bias[] biasRet
        end local 4 // int direction
        end local 3 // javax.swing.text.Position$Bias bias
        end local 2 // int pos
        end local 1 // javax.swing.text.JTextComponent text
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Ljavax/swing/text/DefaultFormatter;
            0   23     1       text  Ljavax/swing/text/JTextComponent;
            0   23     2        pos  I
            0   23     3       bias  Ljavax/swing/text/Position$Bias;
            0   23     4  direction  I
            0   23     5    biasRet  [Ljavax/swing/text/Position$Bias;
            3   23     6      value  I
            8   22     7       last  I
           15   22     8        max  I
    Exceptions:
      throws javax.swing.text.BadLocationException
    MethodParameters:
           Name  Flags
      text       
      pos        
      bias       
      direction  
      biasRet    

  boolean canReplace(javax.swing.text.DefaultFormatter$ReplaceHolder);
    descriptor: (Ljavax/swing/text/DefaultFormatter$ReplaceHolder;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.text.DefaultFormatter$ReplaceHolder rh
         0: .line 545
            aload 0 /* this */
            aload 1 /* rh */
            invokevirtual javax.swing.text.DefaultFormatter.isValidEdit:(Ljavax/swing/text/DefaultFormatter$ReplaceHolder;)Z
            ireturn
        end local 1 // javax.swing.text.DefaultFormatter$ReplaceHolder rh
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/text/DefaultFormatter;
            0    1     1    rh  Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
    MethodParameters:
      Name  Flags
      rh    

  void replace(javax.swing.text.DocumentFilter$FilterBypass, int, int, java.lang.String, javax.swing.text.AttributeSet);
    descriptor: (Ljavax/swing/text/DocumentFilter$FilterBypass;IILjava/lang/String;Ljavax/swing/text/AttributeSet;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.text.DocumentFilter$FilterBypass fb
        start local 2 // int offset
        start local 3 // int length
        start local 4 // java.lang.String text
        start local 5 // javax.swing.text.AttributeSet attrs
         0: .line 554
            aload 0 /* this */
            aload 1 /* fb */
            iload 2 /* offset */
            iload 3 /* length */
            aload 4 /* text */
            aload 5 /* attrs */
            invokevirtual javax.swing.text.DefaultFormatter.getReplaceHolder:(Ljavax/swing/text/DocumentFilter$FilterBypass;IILjava/lang/String;Ljavax/swing/text/AttributeSet;)Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
            astore 6 /* rh */
        start local 6 // javax.swing.text.DefaultFormatter$ReplaceHolder rh
         1: .line 556
            aload 0 /* this */
            aload 6 /* rh */
            invokevirtual javax.swing.text.DefaultFormatter.replace:(Ljavax/swing/text/DefaultFormatter$ReplaceHolder;)Z
            pop
         2: .line 557
            return
        end local 6 // javax.swing.text.DefaultFormatter$ReplaceHolder rh
        end local 5 // javax.swing.text.AttributeSet attrs
        end local 4 // java.lang.String text
        end local 3 // int length
        end local 2 // int offset
        end local 1 // javax.swing.text.DocumentFilter$FilterBypass fb
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljavax/swing/text/DefaultFormatter;
            0    3     1      fb  Ljavax/swing/text/DocumentFilter$FilterBypass;
            0    3     2  offset  I
            0    3     3  length  I
            0    3     4    text  Ljava/lang/String;
            0    3     5   attrs  Ljavax/swing/text/AttributeSet;
            1    3     6      rh  Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
    Exceptions:
      throws javax.swing.text.BadLocationException
    MethodParameters:
        Name  Flags
      fb      
      offset  
      length  
      text    
      attrs   

  boolean replace(javax.swing.text.DefaultFormatter$ReplaceHolder);
    descriptor: (Ljavax/swing/text/DefaultFormatter$ReplaceHolder;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.text.DefaultFormatter$ReplaceHolder rh
         0: .line 570
            iconst_1
            istore 2 /* valid */
        start local 2 // boolean valid
         1: .line 571
            iconst_1
            istore 3 /* direction */
        start local 3 // int direction
         2: .line 573
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.length:I
            ifle 6
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            ifnull 3
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 6
         3: .line 574
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            invokevirtual javax.swing.JFormattedTextField.getSelectionStart:()I
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.offset:I
            if_icmpne 5
         4: .line 575
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.length:I
            iconst_1
            if_icmple 6
         5: .line 576
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 3 /* direction */
         6: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getOverwriteMode:()Z
            ifeq 11
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            ifnull 11
         7: .line 580
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            invokevirtual javax.swing.JFormattedTextField.getSelectedText:()Ljava/lang/String;
            ifnonnull 11
         8: .line 582
            aload 1 /* rh */
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.length:I
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.max:(II)I
         9: .line 583
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.fb:Ljavax/swing/text/DocumentFilter$FilterBypass;
            invokevirtual javax.swing.text.DocumentFilter$FilterBypass.getDocument:()Ljavax/swing/text/Document;
            invokeinterface javax.swing.text.Document.getLength:()I
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.offset:I
            isub
        10: .line 582
            invokestatic java.lang.Math.min:(II)I
            putfield javax.swing.text.DefaultFormatter$ReplaceHolder.length:I
        11: .line 585
      StackMap locals:
      StackMap stack:
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            ifnull 12
            aload 0 /* this */
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            invokevirtual javax.swing.text.DefaultFormatter.isLegalInsertText:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rh */
            invokevirtual javax.swing.text.DefaultFormatter.canReplace:(Ljavax/swing/text/DefaultFormatter$ReplaceHolder;)Z
            ifeq 14
        13: .line 587
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.length:I
            ifne 15
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            ifnull 14
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 15
        14: .line 588
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* valid */
        15: .line 590
      StackMap locals:
      StackMap stack:
            iload 2 /* valid */
            ifeq 25
        16: .line 591
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.cursorPosition:I
            istore 4 /* cursor */
        start local 4 // int cursor
        17: .line 593
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.fb:Ljavax/swing/text/DocumentFilter$FilterBypass;
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.offset:I
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.length:I
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.attrs:Ljavax/swing/text/AttributeSet;
            invokevirtual javax.swing.text.DocumentFilter$FilterBypass.replace:(IILjava/lang/String;Ljavax/swing/text/AttributeSet;)V
        18: .line 594
            iload 4 /* cursor */
            iconst_m1
            if_icmpne 22
        19: .line 595
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.offset:I
            istore 4 /* cursor */
        20: .line 596
            iload 3 /* direction */
            iconst_1
            if_icmpne 22
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            ifnull 22
        21: .line 597
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.offset:I
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* cursor */
        22: .line 600
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rh */
            getfield javax.swing.text.DefaultFormatter$ReplaceHolder.value:Ljava/lang/Object;
            invokevirtual javax.swing.text.DefaultFormatter.updateValue:(Ljava/lang/Object;)V
        23: .line 601
            aload 0 /* this */
            iload 4 /* cursor */
            iload 3 /* direction */
            invokevirtual javax.swing.text.DefaultFormatter.repositionCursor:(II)V
        24: .line 602
            iconst_1
            ireturn
        end local 4 // int cursor
        25: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.swing.text.DefaultFormatter.invalidEdit:()V
        26: .line 607
            iconst_0
            ireturn
        end local 3 // int direction
        end local 2 // boolean valid
        end local 1 // javax.swing.text.DefaultFormatter$ReplaceHolder rh
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Ljavax/swing/text/DefaultFormatter;
            0   27     1         rh  Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
            1   27     2      valid  Z
            2   27     3  direction  I
           17   25     4     cursor  I
    Exceptions:
      throws javax.swing.text.BadLocationException
    MethodParameters:
      Name  Flags
      rh    

  void setDot(javax.swing.text.NavigationFilter$FilterBypass, int, javax.swing.text.Position$Bias);
    descriptor: (Ljavax/swing/text/NavigationFilter$FilterBypass;ILjavax/swing/text/Position$Bias;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.text.NavigationFilter$FilterBypass fb
        start local 2 // int dot
        start local 3 // javax.swing.text.Position$Bias bias
         0: .line 615
            aload 1 /* fb */
            iload 2 /* dot */
            aload 3 /* bias */
            invokevirtual javax.swing.text.NavigationFilter$FilterBypass.setDot:(ILjavax/swing/text/Position$Bias;)V
         1: .line 616
            return
        end local 3 // javax.swing.text.Position$Bias bias
        end local 2 // int dot
        end local 1 // javax.swing.text.NavigationFilter$FilterBypass fb
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/text/DefaultFormatter;
            0    2     1    fb  Ljavax/swing/text/NavigationFilter$FilterBypass;
            0    2     2   dot  I
            0    2     3  bias  Ljavax/swing/text/Position$Bias;
    MethodParameters:
      Name  Flags
      fb    
      dot   
      bias  

  void moveDot(javax.swing.text.NavigationFilter$FilterBypass, int, javax.swing.text.Position$Bias);
    descriptor: (Ljavax/swing/text/NavigationFilter$FilterBypass;ILjavax/swing/text/Position$Bias;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.text.NavigationFilter$FilterBypass fb
        start local 2 // int dot
        start local 3 // javax.swing.text.Position$Bias bias
         0: .line 624
            aload 1 /* fb */
            iload 2 /* dot */
            aload 3 /* bias */
            invokevirtual javax.swing.text.NavigationFilter$FilterBypass.moveDot:(ILjavax/swing/text/Position$Bias;)V
         1: .line 625
            return
        end local 3 // javax.swing.text.Position$Bias bias
        end local 2 // int dot
        end local 1 // javax.swing.text.NavigationFilter$FilterBypass fb
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/text/DefaultFormatter;
            0    2     1    fb  Ljavax/swing/text/NavigationFilter$FilterBypass;
            0    2     2   dot  I
            0    2     3  bias  Ljavax/swing/text/Position$Bias;
    MethodParameters:
      Name  Flags
      fb    
      dot   
      bias  

  javax.swing.text.DefaultFormatter$ReplaceHolder getReplaceHolder(javax.swing.text.DocumentFilter$FilterBypass, int, int, java.lang.String, javax.swing.text.AttributeSet);
    descriptor: (Ljavax/swing/text/DocumentFilter$FilterBypass;IILjava/lang/String;Ljavax/swing/text/AttributeSet;)Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // javax.swing.text.DefaultFormatter this
        start local 1 // javax.swing.text.DocumentFilter$FilterBypass fb
        start local 2 // int offset
        start local 3 // int length
        start local 4 // java.lang.String text
        start local 5 // javax.swing.text.AttributeSet attrs
         0: .line 635
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.replaceHolder:Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
            ifnonnull 2
         1: .line 636
            aload 0 /* this */
            new javax.swing.text.DefaultFormatter$ReplaceHolder
            dup
            invokespecial javax.swing.text.DefaultFormatter$ReplaceHolder.<init>:()V
            putfield javax.swing.text.DefaultFormatter.replaceHolder:Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
         2: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.replaceHolder:Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
            aload 1 /* fb */
            iload 2 /* offset */
            iload 3 /* length */
            aload 4 /* text */
            aload 5 /* attrs */
            invokevirtual javax.swing.text.DefaultFormatter$ReplaceHolder.reset:(Ljavax/swing/text/DocumentFilter$FilterBypass;IILjava/lang/String;Ljavax/swing/text/AttributeSet;)V
         3: .line 639
            aload 0 /* this */
            getfield javax.swing.text.DefaultFormatter.replaceHolder:Ljavax/swing/text/DefaultFormatter$ReplaceHolder;
            areturn
        end local 5 // javax.swing.text.AttributeSet attrs
        end local 4 // java.lang.String text
        end local 3 // int length
        end local 2 // int offset
        end local 1 // javax.swing.text.DocumentFilter$FilterBypass fb
        end local 0 // javax.swing.text.DefaultFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljavax/swing/text/DefaultFormatter;
            0    4     1      fb  Ljavax/swing/text/DocumentFilter$FilterBypass;
            0    4     2  offset  I
            0    4     3  length  I
            0    4     4    text  Ljava/lang/String;
            0    4     5   attrs  Ljavax/swing/text/AttributeSet;
    MethodParameters:
        Name  Flags
      fb      
      offset  
      length  
      text    
      attrs   

  static javax.swing.JFormattedTextField access$0(javax.swing.text.DefaultFormatter);
    descriptor: (Ljavax/swing/text/DefaultFormatter;)Ljavax/swing/JFormattedTextField;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual javax.swing.text.DefaultFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DefaultFormatter.java"
NestMembers:
  javax.swing.text.DefaultFormatter$DefaultDocumentFilter  javax.swing.text.DefaultFormatter$DefaultNavigationFilter  javax.swing.text.DefaultFormatter$ReplaceHolder
InnerClasses:
  public abstract AbstractFormatter = javax.swing.JFormattedTextField$AbstractFormatter of javax.swing.JFormattedTextField
  private DefaultDocumentFilter = javax.swing.text.DefaultFormatter$DefaultDocumentFilter of javax.swing.text.DefaultFormatter
  private DefaultNavigationFilter = javax.swing.text.DefaultFormatter$DefaultNavigationFilter of javax.swing.text.DefaultFormatter
  ReplaceHolder = javax.swing.text.DefaultFormatter$ReplaceHolder of javax.swing.text.DefaultFormatter
  public abstract FilterBypass = javax.swing.text.DocumentFilter$FilterBypass of javax.swing.text.DocumentFilter
  public abstract FilterBypass = javax.swing.text.NavigationFilter$FilterBypass of javax.swing.text.NavigationFilter
  public final Bias = javax.swing.text.Position$Bias of javax.swing.text.Position