class javax.swing.JSpinner$ListEditor$ListFormatter$Filter extends javax.swing.text.DocumentFilter
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.JSpinner$ListEditor$ListFormatter$Filter
  super_class: javax.swing.text.DocumentFilter
{
  final javax.swing.JSpinner$ListEditor$ListFormatter this$2;
    descriptor: Ljavax/swing/JSpinner$ListEditor$ListFormatter;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(javax.swing.JSpinner$ListEditor$ListFormatter);
    descriptor: (Ljavax/swing/JSpinner$ListEditor$ListFormatter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.JSpinner$ListEditor$ListFormatter$Filter this
         0: .line 1340
            aload 0 /* this */
            aload 1
            putfield javax.swing.JSpinner$ListEditor$ListFormatter$Filter.this$2:Ljavax/swing/JSpinner$ListEditor$ListFormatter;
            aload 0 /* this */
            invokespecial javax.swing.text.DocumentFilter.<init>:()V
            return
        end local 0 // javax.swing.JSpinner$ListEditor$ListFormatter$Filter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/JSpinner$ListEditor$ListFormatter$Filter;
    MethodParameters:
        Name  Flags
      this$0  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // javax.swing.JSpinner$ListEditor$ListFormatter$Filter 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 string
        start local 5 // javax.swing.text.AttributeSet attrs
         0: .line 1344
            aload 4 /* string */
            ifnull 18
            iload 2 /* offset */
            iload 3 /* length */
            iadd
         1: .line 1345
            aload 1 /* fb */
            invokevirtual javax.swing.text.DocumentFilter$FilterBypass.getDocument:()Ljavax/swing/text/Document;
            invokeinterface javax.swing.text.Document.getLength:()I
            if_icmpne 18
         2: .line 1346
            aload 0 /* this */
            getfield javax.swing.JSpinner$ListEditor$ListFormatter$Filter.this$2:Ljavax/swing/JSpinner$ListEditor$ListFormatter;
            invokestatic javax.swing.JSpinner$ListEditor$ListFormatter.access$0:(Ljavax/swing/JSpinner$ListEditor$ListFormatter;)Ljavax/swing/JSpinner$ListEditor;
            invokevirtual javax.swing.JSpinner$ListEditor.getModel:()Ljavax/swing/SpinnerListModel;
         3: .line 1347
            new java.lang.StringBuilder
            dup
            aload 1 /* fb */
            invokevirtual javax.swing.text.DocumentFilter$FilterBypass.getDocument:()Ljavax/swing/text/Document;
            iconst_0
            iload 2 /* offset */
            invokeinterface javax.swing.text.Document.getText:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 1348
            aload 4 /* string */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1347
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1346
            invokevirtual javax.swing.SpinnerListModel.findNextMatch:(Ljava/lang/String;)Ljava/lang/Object;
            astore 6 /* next */
        start local 6 // java.lang.Object next
         7: .line 1349
            aload 6 /* next */
            ifnull 8
            aload 6 /* next */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 9
      StackMap locals: java.lang.Object
      StackMap stack:
         8: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         9: astore 7 /* value */
        start local 7 // java.lang.String value
        10: .line 1351
            aload 7 /* value */
            ifnull 18
        11: .line 1352
            aload 1 /* fb */
            iconst_0
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            invokevirtual javax.swing.text.DocumentFilter$FilterBypass.remove:(II)V
        12: .line 1353
            aload 1 /* fb */
            iconst_0
            aload 7 /* value */
            aconst_null
            invokevirtual javax.swing.text.DocumentFilter$FilterBypass.insertString:(ILjava/lang/String;Ljavax/swing/text/AttributeSet;)V
        13: .line 1354
            aload 0 /* this */
            getfield javax.swing.JSpinner$ListEditor$ListFormatter$Filter.this$2:Ljavax/swing/JSpinner$ListEditor$ListFormatter;
            invokevirtual javax.swing.JSpinner$ListEditor$ListFormatter.getFormattedTextField:()Ljavax/swing/JFormattedTextField;
            iload 2 /* offset */
        14: .line 1355
            aload 4 /* string */
            invokevirtual java.lang.String.length:()I
            iadd
        15: .line 1356
            aload 7 /* value */
            invokevirtual java.lang.String.length:()I
        16: .line 1354
            invokevirtual javax.swing.JFormattedTextField.select:(II)V
        17: .line 1357
            return
        end local 7 // java.lang.String value
        end local 6 // java.lang.Object next
        18: .line 1360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fb */
            iload 2 /* offset */
            iload 3 /* length */
            aload 4 /* string */
            aload 5 /* attrs */
            invokespecial javax.swing.text.DocumentFilter.replace:(Ljavax/swing/text/DocumentFilter$FilterBypass;IILjava/lang/String;Ljavax/swing/text/AttributeSet;)V
        19: .line 1361
            return
        end local 5 // javax.swing.text.AttributeSet attrs
        end local 4 // java.lang.String string
        end local 3 // int length
        end local 2 // int offset
        end local 1 // javax.swing.text.DocumentFilter$FilterBypass fb
        end local 0 // javax.swing.JSpinner$ListEditor$ListFormatter$Filter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Ljavax/swing/JSpinner$ListEditor$ListFormatter$Filter;
            0   20     1      fb  Ljavax/swing/text/DocumentFilter$FilterBypass;
            0   20     2  offset  I
            0   20     3  length  I
            0   20     4  string  Ljava/lang/String;
            0   20     5   attrs  Ljavax/swing/text/AttributeSet;
            7   18     6    next  Ljava/lang/Object;
           10   18     7   value  Ljava/lang/String;
    Exceptions:
      throws javax.swing.text.BadLocationException
    MethodParameters:
        Name  Flags
      fb      
      offset  
      length  
      string  
      attrs   

  public void insertString(javax.swing.text.DocumentFilter$FilterBypass, int, java.lang.String, javax.swing.text.AttributeSet);
    descriptor: (Ljavax/swing/text/DocumentFilter$FilterBypass;ILjava/lang/String;Ljavax/swing/text/AttributeSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // javax.swing.JSpinner$ListEditor$ListFormatter$Filter this
        start local 1 // javax.swing.text.DocumentFilter$FilterBypass fb
        start local 2 // int offset
        start local 3 // java.lang.String string
        start local 4 // javax.swing.text.AttributeSet attr
         0: .line 1366
            aload 0 /* this */
            aload 1 /* fb */
            iload 2 /* offset */
            iconst_0
            aload 3 /* string */
            aload 4 /* attr */
            invokevirtual javax.swing.JSpinner$ListEditor$ListFormatter$Filter.replace:(Ljavax/swing/text/DocumentFilter$FilterBypass;IILjava/lang/String;Ljavax/swing/text/AttributeSet;)V
         1: .line 1367
            return
        end local 4 // javax.swing.text.AttributeSet attr
        end local 3 // java.lang.String string
        end local 2 // int offset
        end local 1 // javax.swing.text.DocumentFilter$FilterBypass fb
        end local 0 // javax.swing.JSpinner$ListEditor$ListFormatter$Filter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavax/swing/JSpinner$ListEditor$ListFormatter$Filter;
            0    2     1      fb  Ljavax/swing/text/DocumentFilter$FilterBypass;
            0    2     2  offset  I
            0    2     3  string  Ljava/lang/String;
            0    2     4    attr  Ljavax/swing/text/AttributeSet;
    Exceptions:
      throws javax.swing.text.BadLocationException
    MethodParameters:
        Name  Flags
      fb      
      offset  
      string  
      attr    
}
SourceFile: "JSpinner.java"
NestHost: javax.swing.JSpinner
InnerClasses:
  public ListEditor = javax.swing.JSpinner$ListEditor of javax.swing.JSpinner
  private ListFormatter = javax.swing.JSpinner$ListEditor$ListFormatter of javax.swing.JSpinner$ListEditor
  private Filter = javax.swing.JSpinner$ListEditor$ListFormatter$Filter of javax.swing.JSpinner$ListEditor$ListFormatter
  public abstract FilterBypass = javax.swing.text.DocumentFilter$FilterBypass of javax.swing.text.DocumentFilter