public class sun.print.Win32PrintServiceLookup extends javax.print.PrintServiceLookup
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.print.Win32PrintServiceLookup
  super_class: javax.print.PrintServiceLookup
{
  private java.lang.String defaultPrinter;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private javax.print.PrintService defaultPrintService;
    descriptor: Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE

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

  private javax.print.PrintService[] printServices;
    descriptor: [Ljavax/print/PrintService;
    flags: (0x0002) ACC_PRIVATE

  private static sun.print.Win32PrintServiceLookup win32PrintLUS;
    descriptor: Lsun/print/Win32PrintServiceLookup;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 59
            new sun.security.action.LoadLibraryAction
            dup
            ldc "awt"
            invokespecial sun.security.action.LoadLibraryAction.<init>:(Ljava/lang/String;)V
         1: .line 58
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         2: .line 68
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.print.Win32PrintServiceLookup getWin32PrintLUS();
    descriptor: ()Lsun/print/Win32PrintServiceLookup;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 72
            getstatic sun.print.Win32PrintServiceLookup.win32PrintLUS:Lsun/print/Win32PrintServiceLookup;
            ifnonnull 2
         1: .line 77
            invokestatic javax.print.PrintServiceLookup.lookupDefaultPrintService:()Ljavax/print/PrintService;
            pop
         2: .line 79
      StackMap locals:
      StackMap stack:
            getstatic sun.print.Win32PrintServiceLookup.win32PrintLUS:Lsun/print/Win32PrintServiceLookup;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.print.Win32PrintServiceLookup this
         0: .line 82
            aload 0 /* this */
            invokespecial javax.print.PrintServiceLookup.<init>:()V
         1: .line 84
            getstatic sun.print.Win32PrintServiceLookup.win32PrintLUS:Lsun/print/Win32PrintServiceLookup;
            ifnonnull 10
         2: .line 85
            aload 0 /* this */
            putstatic sun.print.Win32PrintServiceLookup.win32PrintLUS:Lsun/print/Win32PrintServiceLookup;
         3: .line 88
            new sun.security.action.GetPropertyAction
            dup
            ldc "os.name"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         4: .line 87
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* osName */
        start local 1 // java.lang.String osName
         5: .line 91
            aload 1 /* osName */
            ifnull 7
            aload 1 /* osName */
            ldc "Windows 98"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 92
            return
         7: .line 95
      StackMap locals: sun.print.Win32PrintServiceLookup java.lang.String
      StackMap stack:
            new sun.print.Win32PrintServiceLookup$PrinterChangeListener
            dup
            aload 0 /* this */
            invokespecial sun.print.Win32PrintServiceLookup$PrinterChangeListener.<init>:(Lsun/print/Win32PrintServiceLookup;)V
            astore 2 /* thr */
        start local 2 // sun.print.Win32PrintServiceLookup$PrinterChangeListener thr
         8: .line 96
            aload 2 /* thr */
            iconst_1
            invokevirtual sun.print.Win32PrintServiceLookup$PrinterChangeListener.setDaemon:(Z)V
         9: .line 97
            aload 2 /* thr */
            invokevirtual sun.print.Win32PrintServiceLookup$PrinterChangeListener.start:()V
        end local 2 // sun.print.Win32PrintServiceLookup$PrinterChangeListener thr
        end local 1 // java.lang.String osName
        10: .line 99
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.print.Win32PrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lsun/print/Win32PrintServiceLookup;
            5   10     1  osName  Ljava/lang/String;
            8   10     2     thr  Lsun/print/Win32PrintServiceLookup$PrinterChangeListener;

  public synchronized javax.print.PrintService[] getPrintServices();
    descriptor: ()[Ljavax/print/PrintService;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.print.Win32PrintServiceLookup this
         0: .line 107
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* security */
        start local 1 // java.lang.SecurityManager security
         1: .line 108
            aload 1 /* security */
            ifnull 3
         2: .line 109
            aload 1 /* security */
            invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
         3: .line 111
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnonnull 5
         4: .line 112
            aload 0 /* this */
            invokevirtual sun.print.Win32PrintServiceLookup.refreshServices:()V
         5: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            areturn
        end local 1 // java.lang.SecurityManager security
        end local 0 // sun.print.Win32PrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/print/Win32PrintServiceLookup;
            1    6     1  security  Ljava/lang/SecurityManager;

  private synchronized void refreshServices();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // sun.print.Win32PrintServiceLookup this
         0: .line 118
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.print.Win32PrintServiceLookup.getAllPrinterNames:()[Ljava/lang/String;
            putfield sun.print.Win32PrintServiceLookup.printers:[Ljava/lang/String;
         1: .line 119
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printers:[Ljava/lang/String;
            ifnonnull 4
         2: .line 122
            aload 0 /* this */
            iconst_0
            anewarray javax.print.PrintService
            putfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
         3: .line 123
            return
         4: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printers:[Ljava/lang/String;
            arraylength
            anewarray javax.print.PrintService
            astore 1 /* newServices */
        start local 1 // javax.print.PrintService[] newServices
         5: .line 127
            aload 0 /* this */
            invokevirtual sun.print.Win32PrintServiceLookup.getDefaultPrintService:()Ljavax/print/PrintService;
            astore 2 /* defService */
        start local 2 // javax.print.PrintService defService
         6: .line 128
            iconst_0
            istore 3 /* p */
        start local 3 // int p
         7: goto 27
         8: .line 129
      StackMap locals: javax.print.PrintService[] javax.print.PrintService int
      StackMap stack:
            aload 2 /* defService */
            ifnull 12
         9: .line 130
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printers:[Ljava/lang/String;
            iload 3 /* p */
            aaload
            aload 2 /* defService */
            invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 131
            aload 1 /* newServices */
            iload 3 /* p */
            aload 2 /* defService */
            aastore
        11: .line 132
            goto 26
        12: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnonnull 15
        13: .line 134
            aload 1 /* newServices */
            iload 3 /* p */
            new sun.print.Win32PrintService
            dup
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printers:[Ljava/lang/String;
            iload 3 /* p */
            aaload
            invokespecial sun.print.Win32PrintService.<init>:(Ljava/lang/String;)V
            aastore
        14: .line 135
            goto 26
        15: .line 137
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        16: goto 23
        17: .line 138
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 4 /* j */
            aaload
            ifnull 22
        18: .line 139
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printers:[Ljava/lang/String;
            iload 3 /* p */
            aaload
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 4 /* j */
            aaload
            invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        19: .line 140
            aload 1 /* newServices */
            iload 3 /* p */
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 4 /* j */
            aaload
            aastore
        20: .line 141
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 4 /* j */
            aconst_null
            aastore
        21: .line 142
            goto 24
        22: .line 137
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* j */
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            arraylength
            if_icmplt 17
        24: .line 145
      StackMap locals:
      StackMap stack:
            iload 4 /* j */
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            arraylength
            if_icmpne 26
        25: .line 146
            aload 1 /* newServices */
            iload 3 /* p */
            new sun.print.Win32PrintService
            dup
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printers:[Ljava/lang/String;
            iload 3 /* p */
            aaload
            invokespecial sun.print.Win32PrintService.<init>:(Ljava/lang/String;)V
            aastore
        end local 4 // int j
        26: .line 128
      StackMap locals:
      StackMap stack:
            iinc 3 /* p */ 1
      StackMap locals:
      StackMap stack:
        27: iload 3 /* p */
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printers:[Ljava/lang/String;
            arraylength
            if_icmplt 8
        end local 3 // int p
        28: .line 153
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnull 36
        29: .line 154
            iconst_0
            istore 3 /* j */
        start local 3 // int j
        30: goto 35
        31: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 3 /* j */
            aaload
            instanceof sun.print.Win32PrintService
            ifeq 34
        32: .line 156
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 3 /* j */
            aaload
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            invokeinterface javax.print.PrintService.equals:(Ljava/lang/Object;)Z
            ifne 34
        33: .line 157
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 3 /* j */
            aaload
            checkcast sun.print.Win32PrintService
            invokevirtual sun.print.Win32PrintService.invalidateService:()V
        34: .line 154
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
        35: iload 3 /* j */
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            arraylength
            if_icmplt 31
        end local 3 // int j
        36: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newServices */
            putfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
        37: .line 162
            return
        end local 2 // javax.print.PrintService defService
        end local 1 // javax.print.PrintService[] newServices
        end local 0 // sun.print.Win32PrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   38     0         this  Lsun/print/Win32PrintServiceLookup;
            5   38     1  newServices  [Ljavax/print/PrintService;
            6   38     2   defService  Ljavax/print/PrintService;
            7   28     3            p  I
           16   26     4            j  I
           30   36     3            j  I

  public synchronized javax.print.PrintService getPrintServiceByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/print/PrintService;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.print.Win32PrintServiceLookup this
        start local 1 // java.lang.String name
         0: .line 167
            aload 1 /* name */
            ifnull 1
            aload 1 /* name */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 168
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.print.Win32PrintServiceLookup.getPrintServices:()[Ljavax/print/PrintService;
            astore 2 /* printServices */
        start local 2 // javax.print.PrintService[] printServices
         3: .line 172
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 173
      StackMap locals: javax.print.PrintService[] int
      StackMap stack:
            aload 2 /* printServices */
            iload 3 /* i */
            aaload
            invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 174
            aload 2 /* printServices */
            iload 3 /* i */
            aaload
            areturn
         7: .line 172
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* printServices */
            arraylength
            if_icmplt 5
        end local 3 // int i
         9: .line 177
            aconst_null
            areturn
        end local 2 // javax.print.PrintService[] printServices
        end local 1 // java.lang.String name
        end local 0 // sun.print.Win32PrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lsun/print/Win32PrintServiceLookup;
            0   10     1           name  Ljava/lang/String;
            3   10     2  printServices  [Ljavax/print/PrintService;
            4    9     3              i  I
    MethodParameters:
      Name  Flags
      name  

  boolean matchingService(javax.print.PrintService, javax.print.attribute.PrintServiceAttributeSet);
    descriptor: (Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.print.Win32PrintServiceLookup this
        start local 1 // javax.print.PrintService service
        start local 2 // javax.print.attribute.PrintServiceAttributeSet serviceSet
         0: .line 183
            aload 2 /* serviceSet */
            ifnull 10
         1: .line 184
            aload 2 /* serviceSet */
            invokeinterface javax.print.attribute.PrintServiceAttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
            astore 3 /* attrs */
        start local 3 // javax.print.attribute.Attribute[] attrs
         2: .line 186
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 9
         4: .line 188
      StackMap locals: sun.print.Win32PrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] top int
      StackMap stack:
            aload 1 /* service */
            aload 3 /* attrs */
            iload 5 /* i */
            aaload
            invokeinterface javax.print.attribute.Attribute.getCategory:()Ljava/lang/Class;
            invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
         5: .line 187
            astore 4 /* serviceAttr */
        start local 4 // javax.print.attribute.Attribute serviceAttr
         6: .line 189
            aload 4 /* serviceAttr */
            ifnull 7
            aload 4 /* serviceAttr */
            aload 3 /* attrs */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 190
      StackMap locals: sun.print.Win32PrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] javax.print.attribute.Attribute int
      StackMap stack:
            iconst_0
            ireturn
         8: .line 186
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
        end local 4 // javax.print.attribute.Attribute serviceAttr
      StackMap locals: sun.print.Win32PrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] top int
      StackMap stack:
         9: iload 5 /* i */
            aload 3 /* attrs */
            arraylength
            if_icmplt 4
        end local 5 // int i
        end local 3 // javax.print.attribute.Attribute[] attrs
        10: .line 194
      StackMap locals: sun.print.Win32PrintServiceLookup javax.print.PrintService javax.print.attribute.PrintServiceAttributeSet
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // javax.print.attribute.PrintServiceAttributeSet serviceSet
        end local 1 // javax.print.PrintService service
        end local 0 // sun.print.Win32PrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lsun/print/Win32PrintServiceLookup;
            0   11     1      service  Ljavax/print/PrintService;
            0   11     2   serviceSet  Ljavax/print/attribute/PrintServiceAttributeSet;
            2   10     3        attrs  [Ljavax/print/attribute/Attribute;
            6    9     4  serviceAttr  Ljavax/print/attribute/Attribute;
            3   10     5            i  I
    MethodParameters:
            Name  Flags
      service     
      serviceSet  

  public javax.print.PrintService[] getPrintServices(javax.print.DocFlavor, javax.print.attribute.AttributeSet);
    descriptor: (Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)[Ljavax/print/PrintService;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // sun.print.Win32PrintServiceLookup this
        start local 1 // javax.print.DocFlavor flavor
        start local 2 // javax.print.attribute.AttributeSet attributes
         0: .line 200
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* security */
        start local 3 // java.lang.SecurityManager security
         1: .line 201
            aload 3 /* security */
            ifnull 3
         2: .line 202
            aload 3 /* security */
            invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
         3: .line 204
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aconst_null
            astore 4 /* requestSet */
        start local 4 // javax.print.attribute.PrintRequestAttributeSet requestSet
         4: .line 205
            aconst_null
            astore 5 /* serviceSet */
        start local 5 // javax.print.attribute.PrintServiceAttributeSet serviceSet
         5: .line 207
            aload 2 /* attributes */
            ifnull 18
            aload 2 /* attributes */
            invokeinterface javax.print.attribute.AttributeSet.isEmpty:()Z
            ifne 18
         6: .line 209
            new javax.print.attribute.HashPrintRequestAttributeSet
            dup
            invokespecial javax.print.attribute.HashPrintRequestAttributeSet.<init>:()V
            astore 4 /* requestSet */
         7: .line 210
            new javax.print.attribute.HashPrintServiceAttributeSet
            dup
            invokespecial javax.print.attribute.HashPrintServiceAttributeSet.<init>:()V
            astore 5 /* serviceSet */
         8: .line 212
            aload 2 /* attributes */
            invokeinterface javax.print.attribute.AttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
            astore 6 /* attrs */
        start local 6 // javax.print.attribute.Attribute[] attrs
         9: .line 213
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 17
        11: .line 214
      StackMap locals: sun.print.Win32PrintServiceLookup javax.print.DocFlavor javax.print.attribute.AttributeSet java.lang.SecurityManager javax.print.attribute.PrintRequestAttributeSet javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] int
      StackMap stack:
            aload 6 /* attrs */
            iload 7 /* i */
            aaload
            instanceof javax.print.attribute.PrintRequestAttribute
            ifeq 14
        12: .line 215
            aload 4 /* requestSet */
            aload 6 /* attrs */
            iload 7 /* i */
            aaload
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
            pop
        13: .line 216
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 6 /* attrs */
            iload 7 /* i */
            aaload
            instanceof javax.print.attribute.PrintServiceAttribute
            ifeq 16
        15: .line 217
            aload 5 /* serviceSet */
            aload 6 /* attrs */
            iload 7 /* i */
            aaload
            invokeinterface javax.print.attribute.PrintServiceAttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
            pop
        16: .line 213
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            aload 6 /* attrs */
            arraylength
            if_icmplt 11
        end local 7 // int i
        end local 6 // javax.print.attribute.Attribute[] attrs
        18: .line 227
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* services */
        start local 6 // javax.print.PrintService[] services
        19: .line 228
            aload 5 /* serviceSet */
            ifnull 28
            aload 5 /* serviceSet */
            ldc Ljavax/print/attribute/standard/PrinterName;
            invokeinterface javax.print.attribute.PrintServiceAttributeSet.get:(Ljava/lang/Class;)Ljavax/print/attribute/Attribute;
            ifnull 28
        20: .line 229
            aload 5 /* serviceSet */
            ldc Ljavax/print/attribute/standard/PrinterName;
            invokeinterface javax.print.attribute.PrintServiceAttributeSet.get:(Ljava/lang/Class;)Ljavax/print/attribute/Attribute;
            checkcast javax.print.attribute.standard.PrinterName
            astore 7 /* name */
        start local 7 // javax.print.attribute.standard.PrinterName name
        21: .line 230
            aload 0 /* this */
            aload 7 /* name */
            invokevirtual javax.print.attribute.standard.PrinterName.getValue:()Ljava/lang/String;
            invokevirtual sun.print.Win32PrintServiceLookup.getPrintServiceByName:(Ljava/lang/String;)Ljavax/print/PrintService;
            astore 8 /* service */
        start local 8 // javax.print.PrintService service
        22: .line 231
            aload 8 /* service */
            ifnull 23
            aload 0 /* this */
            aload 8 /* service */
            aload 5 /* serviceSet */
            invokevirtual sun.print.Win32PrintServiceLookup.matchingService:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
            ifne 25
        23: .line 232
      StackMap locals: javax.print.PrintService[] javax.print.attribute.standard.PrinterName javax.print.PrintService
      StackMap stack:
            iconst_0
            anewarray javax.print.PrintService
            astore 6 /* services */
        24: .line 233
            goto 29
        25: .line 234
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray javax.print.PrintService
            astore 6 /* services */
        26: .line 235
            aload 6 /* services */
            iconst_0
            aload 8 /* service */
            aastore
        end local 8 // javax.print.PrintService service
        end local 7 // javax.print.attribute.standard.PrinterName name
        27: .line 237
            goto 29
        28: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.print.Win32PrintServiceLookup.getPrintServices:()[Ljavax/print/PrintService;
            astore 6 /* services */
        29: .line 241
      StackMap locals:
      StackMap stack:
            aload 6 /* services */
            arraylength
            ifne 31
        30: .line 242
            aload 6 /* services */
            areturn
        31: .line 244
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* matchingServices */
        start local 7 // java.util.ArrayList matchingServices
        32: .line 245
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        33: goto 41
        34: .line 247
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 6 /* services */
            iload 8 /* i */
            aaload
        35: .line 248
            aload 1 /* flavor */
            aload 4 /* requestSet */
            invokeinterface javax.print.PrintService.getUnsupportedAttributes:(Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)Ljavax/print/attribute/AttributeSet;
        36: .line 247
            ifnonnull 40
        37: .line 249
            aload 7 /* matchingServices */
            aload 6 /* services */
            iload 8 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        38: .line 251
            goto 40
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        39: pop
        40: .line 245
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 8 /* i */
            aload 6 /* services */
            arraylength
            if_icmplt 34
        end local 8 // int i
        42: .line 254
            aload 7 /* matchingServices */
            invokevirtual java.util.ArrayList.size:()I
            anewarray javax.print.PrintService
            astore 6 /* services */
        43: .line 255
            aload 7 /* matchingServices */
            aload 6 /* services */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.print.PrintService[]
            areturn
        end local 7 // java.util.ArrayList matchingServices
        end local 6 // javax.print.PrintService[] services
        end local 5 // javax.print.attribute.PrintServiceAttributeSet serviceSet
        end local 4 // javax.print.attribute.PrintRequestAttributeSet requestSet
        end local 3 // java.lang.SecurityManager security
        end local 2 // javax.print.attribute.AttributeSet attributes
        end local 1 // javax.print.DocFlavor flavor
        end local 0 // sun.print.Win32PrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   44     0              this  Lsun/print/Win32PrintServiceLookup;
            0   44     1            flavor  Ljavax/print/DocFlavor;
            0   44     2        attributes  Ljavax/print/attribute/AttributeSet;
            1   44     3          security  Ljava/lang/SecurityManager;
            4   44     4        requestSet  Ljavax/print/attribute/PrintRequestAttributeSet;
            5   44     5        serviceSet  Ljavax/print/attribute/PrintServiceAttributeSet;
            9   18     6             attrs  [Ljavax/print/attribute/Attribute;
           10   18     7                 i  I
           19   44     6          services  [Ljavax/print/PrintService;
           21   27     7              name  Ljavax/print/attribute/standard/PrinterName;
           22   27     8           service  Ljavax/print/PrintService;
           32   44     7  matchingServices  Ljava/util/ArrayList;
           33   42     8                 i  I
      Exception table:
        from    to  target  type
          34    38      39  Class java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      flavor      
      attributes  

  public javax.print.MultiDocPrintService[] getMultiDocPrintServices(javax.print.DocFlavor[], javax.print.attribute.AttributeSet);
    descriptor: ([Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)[Ljavax/print/MultiDocPrintService;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // sun.print.Win32PrintServiceLookup this
        start local 1 // javax.print.DocFlavor[] flavors
        start local 2 // javax.print.attribute.AttributeSet attributes
         0: .line 265
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* security */
        start local 3 // java.lang.SecurityManager security
         1: .line 266
            aload 3 /* security */
            ifnull 3
         2: .line 267
            aload 3 /* security */
            invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
         3: .line 269
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            iconst_0
            anewarray javax.print.MultiDocPrintService
            areturn
        end local 3 // java.lang.SecurityManager security
        end local 2 // javax.print.attribute.AttributeSet attributes
        end local 1 // javax.print.DocFlavor[] flavors
        end local 0 // sun.print.Win32PrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lsun/print/Win32PrintServiceLookup;
            0    4     1     flavors  [Ljavax/print/DocFlavor;
            0    4     2  attributes  Ljavax/print/attribute/AttributeSet;
            1    4     3    security  Ljava/lang/SecurityManager;
    MethodParameters:
            Name  Flags
      flavors     
      attributes  

  public synchronized javax.print.PrintService getDefaultPrintService();
    descriptor: ()Ljavax/print/PrintService;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.print.Win32PrintServiceLookup this
         0: .line 274
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* security */
        start local 1 // java.lang.SecurityManager security
         1: .line 275
            aload 1 /* security */
            ifnull 3
         2: .line 276
            aload 1 /* security */
            invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
         3: .line 282
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.print.Win32PrintServiceLookup.getDefaultPrinterName:()Ljava/lang/String;
            putfield sun.print.Win32PrintServiceLookup.defaultPrinter:Ljava/lang/String;
         4: .line 283
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrinter:Ljava/lang/String;
            ifnonnull 6
         5: .line 284
            aconst_null
            areturn
         6: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            ifnull 9
         7: .line 288
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrinter:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 290
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            areturn
         9: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
        10: .line 298
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            ifnull 18
        11: .line 299
            iconst_0
            istore 2 /* j */
        start local 2 // int j
        12: goto 17
        13: .line 300
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrinter:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 2 /* j */
            aaload
            invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 301
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            iload 2 /* j */
            aaload
            putfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
        15: .line 302
            goto 18
        16: .line 299
      StackMap locals:
      StackMap stack:
            iinc 2 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 2 /* j */
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.printServices:[Ljavax/print/PrintService;
            arraylength
            if_icmplt 13
        end local 2 // int j
        18: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            ifnonnull 20
        19: .line 308
            aload 0 /* this */
            new sun.print.Win32PrintService
            dup
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrinter:Ljava/lang/String;
            invokespecial sun.print.Win32PrintService.<init>:(Ljava/lang/String;)V
            putfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
        20: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.print.Win32PrintServiceLookup.defaultPrintService:Ljavax/print/PrintService;
            areturn
        end local 1 // java.lang.SecurityManager security
        end local 0 // sun.print.Win32PrintServiceLookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lsun/print/Win32PrintServiceLookup;
            1   21     1  security  Ljava/lang/SecurityManager;
           12   18     2         j  I

  private native java.lang.String getDefaultPrinterName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private native java.lang.String[] getAllPrinterNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private native long notifyFirstPrinterChange(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
         Name  Flags
      printer  

  private native void notifyClosePrinterChange(long);
    descriptor: (J)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      chgObj  

  private native int notifyPrinterChange(long);
    descriptor: (J)I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
        Name  Flags
      chgObj  
}
SourceFile: "Win32PrintServiceLookup.java"
NestMembers:
  sun.print.Win32PrintServiceLookup$PrinterChangeListener
InnerClasses:
  PrinterChangeListener = sun.print.Win32PrintServiceLookup$PrinterChangeListener of sun.print.Win32PrintServiceLookup