class sun.print.UnixPrintJob$PrinterSpooler implements java.security.PrivilegedAction
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.print.UnixPrintJob$PrinterSpooler
  super_class: java.lang.Object
{
  javax.print.PrintException pex;
    descriptor: Ljavax/print/PrintException;
    flags: (0x0000) 

  final sun.print.UnixPrintJob this$0;
    descriptor: Lsun/print/UnixPrintJob;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

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

  public java.lang.Object run();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // sun.print.UnixPrintJob$PrinterSpooler this
         0: .line 964
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.spoolFile:Ljava/io/File;
            ifnull 1
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.spoolFile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifne 5
         1: .line 965
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new javax.print.PrintException
            dup
            ldc "No spool file"
            invokespecial javax.print.PrintException.<init>:(Ljava/lang/String;)V
            putfield sun.print.UnixPrintJob$PrinterSpooler.pex:Ljavax/print/PrintException;
         2: .line 966
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 103
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
         3: .line 985
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 105
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
         4: .line 967
            aconst_null
            areturn
         5: .line 969
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.spoolFile:Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 1 /* fileName */
        start local 1 // java.lang.String fileName
         6: .line 970
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.mDestination:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.mOptions:Ljava/lang/String;
         7: .line 971
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.mNoJobSheet:Z
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.jobName:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.copies:I
            aload 1 /* fileName */
         8: .line 970
            invokevirtual sun.print.UnixPrintJob.printExecCmd:(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;ILjava/lang/String;)[Ljava/lang/String;
            astore 2 /* execCmd */
        start local 2 // java.lang.String[] execCmd
         9: .line 973
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            aload 2 /* execCmd */
            invokevirtual java.lang.Runtime.exec:([Ljava/lang/String;)Ljava/lang/Process;
            astore 3 /* process */
        start local 3 // java.lang.Process process
        10: .line 974
            aload 3 /* process */
            invokevirtual java.lang.Process.waitFor:()I
            pop
        11: .line 975
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            getfield sun.print.UnixPrintJob.spoolFile:Ljava/io/File;
            invokevirtual java.io.File.delete:()Z
            pop
        12: .line 976
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 106
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
        end local 3 // java.lang.Process process
        end local 2 // java.lang.String[] execCmd
        end local 1 // java.lang.String fileName
        13: .line 977
            goto 25
      StackMap locals:
      StackMap stack: java.io.IOException
        14: astore 1 /* ex */
        start local 1 // java.io.IOException ex
        15: .line 978
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 103
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
        16: .line 980
            aload 0 /* this */
            new javax.print.PrintException
            dup
            aload 1 /* ex */
            invokespecial javax.print.PrintException.<init>:(Ljava/lang/Exception;)V
            putfield sun.print.UnixPrintJob$PrinterSpooler.pex:Ljavax/print/PrintException;
        end local 1 // java.io.IOException ex
        17: .line 985
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 105
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
            goto 26
        18: .line 981
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            astore 1 /* ie */
        start local 1 // java.lang.InterruptedException ie
        19: .line 982
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 103
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
        20: .line 983
            aload 0 /* this */
            new javax.print.PrintException
            dup
            aload 1 /* ie */
            invokespecial javax.print.PrintException.<init>:(Ljava/lang/Exception;)V
            putfield sun.print.UnixPrintJob$PrinterSpooler.pex:Ljavax/print/PrintException;
        end local 1 // java.lang.InterruptedException ie
        21: .line 985
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 105
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
            goto 26
        22: .line 984
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        23: .line 985
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 105
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
        24: .line 986
            aload 4
            athrow
        25: .line 985
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.UnixPrintJob$PrinterSpooler.this$0:Lsun/print/UnixPrintJob;
            bipush 105
            invokevirtual sun.print.UnixPrintJob.notifyEvent:(I)V
        26: .line 987
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.print.UnixPrintJob$PrinterSpooler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lsun/print/UnixPrintJob$PrinterSpooler;
            6   13     1  fileName  Ljava/lang/String;
            9   13     2   execCmd  [Ljava/lang/String;
           10   13     3   process  Ljava/lang/Process;
           15   17     1        ex  Ljava/io/IOException;
           19   21     1        ie  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           0     3      14  Class java.io.IOException
           5    13      14  Class java.io.IOException
           0     3      18  Class java.lang.InterruptedException
           5    13      18  Class java.lang.InterruptedException
           0     3      22  any
           5    17      22  any
          18    21      22  any
}
SourceFile: "UnixPrintJob.java"
NestHost: sun.print.UnixPrintJob
InnerClasses:
  private PrinterSpooler = sun.print.UnixPrintJob$PrinterSpooler of sun.print.UnixPrintJob