class sun.print.ServiceDialog$ValidatingFileChooser extends javax.swing.JFileChooser
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.print.ServiceDialog$ValidatingFileChooser
  super_class: javax.swing.JFileChooser
{
  final sun.print.ServiceDialog this$0;
    descriptor: Lsun/print/ServiceDialog;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(sun.print.ServiceDialog);
    descriptor: (Lsun/print/ServiceDialog;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.print.ServiceDialog$ValidatingFileChooser this
         0: .line 2853
            aload 0 /* this */
            aload 1
            putfield sun.print.ServiceDialog$ValidatingFileChooser.this$0:Lsun/print/ServiceDialog;
            aload 0 /* this */
            invokespecial javax.swing.JFileChooser.<init>:()V
            return
        end local 0 // sun.print.ServiceDialog$ValidatingFileChooser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/print/ServiceDialog$ValidatingFileChooser;
    MethodParameters:
        Name  Flags
      this$0  final

  public void approveSelection();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.print.ServiceDialog$ValidatingFileChooser this
         0: .line 2855
            aload 0 /* this */
            invokevirtual sun.print.ServiceDialog$ValidatingFileChooser.getSelectedFile:()Ljava/io/File;
            astore 1 /* selected */
        start local 1 // java.io.File selected
         1: .line 2859
            aload 1 /* selected */
            invokevirtual java.io.File.exists:()Z
            istore 2 /* exists */
        start local 2 // boolean exists
         2: .line 2860
            goto 5
        end local 2 // boolean exists
      StackMap locals: sun.print.ServiceDialog$ValidatingFileChooser java.io.File
      StackMap stack: java.lang.SecurityException
         3: pop
         4: .line 2861
            iconst_0
            istore 2 /* exists */
        start local 2 // boolean exists
         5: .line 2864
      StackMap locals: int
      StackMap stack:
            iload 2 /* exists */
            ifeq 13
         6: .line 2866
            aload 0 /* this */
         7: .line 2867
            ldc "dialog.overwrite"
            invokestatic sun.print.ServiceDialog.getMsg:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 2868
            ldc "dialog.owtitle"
            invokestatic sun.print.ServiceDialog.getMsg:(Ljava/lang/String;)Ljava/lang/String;
         9: .line 2869
            iconst_0
        10: .line 2866
            invokestatic javax.swing.JOptionPane.showConfirmDialog:(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)I
            istore 3 /* val */
        start local 3 // int val
        11: .line 2870
            iload 3 /* val */
            ifeq 13
        12: .line 2871
            return
        end local 3 // int val
        13: .line 2876
      StackMap locals:
      StackMap stack:
            aload 1 /* selected */
            invokevirtual java.io.File.createNewFile:()Z
            ifeq 24
        14: .line 2877
            aload 1 /* selected */
            invokevirtual java.io.File.delete:()Z
            pop
        15: .line 2879
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        16: pop
        17: .line 2880
            aload 0 /* this */
        18: .line 2881
            new java.lang.StringBuilder
            dup
            ldc "dialog.writeerror"
            invokestatic sun.print.ServiceDialog.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* selected */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2882
            ldc "dialog.owtitle"
            invokestatic sun.print.ServiceDialog.getMsg:(Ljava/lang/String;)Ljava/lang/String;
        20: .line 2883
            iconst_2
        21: .line 2880
            invokestatic javax.swing.JOptionPane.showMessageDialog:(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)V
        22: .line 2884
            return
        23: .line 2885
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
        24: .line 2891
      StackMap locals:
      StackMap stack:
            aload 1 /* selected */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 3 /* pFile */
        start local 3 // java.io.File pFile
        25: .line 2892
            aload 1 /* selected */
            invokevirtual java.io.File.exists:()Z
            ifeq 27
        26: .line 2893
            aload 1 /* selected */
            invokevirtual java.io.File.isFile:()Z
            ifeq 29
            aload 1 /* selected */
            invokevirtual java.io.File.canWrite:()Z
            ifeq 29
        27: .line 2894
      StackMap locals: java.io.File
      StackMap stack:
            aload 3 /* pFile */
            ifnull 35
        28: .line 2895
            aload 3 /* pFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 29
            aload 3 /* pFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 35
            aload 3 /* pFile */
            invokevirtual java.io.File.canWrite:()Z
            ifne 35
        29: .line 2896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        30: .line 2897
            new java.lang.StringBuilder
            dup
            ldc "dialog.writeerror"
            invokestatic sun.print.ServiceDialog.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* selected */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 2898
            ldc "dialog.owtitle"
            invokestatic sun.print.ServiceDialog.getMsg:(Ljava/lang/String;)Ljava/lang/String;
        32: .line 2899
            iconst_2
        33: .line 2896
            invokestatic javax.swing.JOptionPane.showMessageDialog:(Ljava/awt/Component;Ljava/lang/Object;Ljava/lang/String;I)V
        34: .line 2900
            return
        35: .line 2903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial javax.swing.JFileChooser.approveSelection:()V
        36: .line 2904
            return
        end local 3 // java.io.File pFile
        end local 2 // boolean exists
        end local 1 // java.io.File selected
        end local 0 // sun.print.ServiceDialog$ValidatingFileChooser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0      this  Lsun/print/ServiceDialog$ValidatingFileChooser;
            1   37     1  selected  Ljava/io/File;
            2    3     2    exists  Z
            5   37     2    exists  Z
           11   13     3       val  I
           25   37     3     pFile  Ljava/io/File;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.SecurityException
          13    15      16  Class java.io.IOException
          13    15      23  Class java.lang.SecurityException
}
SourceFile: "ServiceDialog.java"
NestHost: sun.print.ServiceDialog
InnerClasses:
  private ValidatingFileChooser = sun.print.ServiceDialog$ValidatingFileChooser of sun.print.ServiceDialog