public class javax.print.ServiceUI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.print.ServiceUI
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.print.ServiceUI this
         0: .line 72
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.print.ServiceUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/print/ServiceUI;

  public static javax.print.PrintService printDialog(java.awt.GraphicsConfiguration, int, int, javax.print.PrintService[], javax.print.PrintService, javax.print.DocFlavor, javax.print.attribute.PrintRequestAttributeSet);
    descriptor: (Ljava/awt/GraphicsConfiguration;II[Ljavax/print/PrintService;Ljavax/print/PrintService;Ljavax/print/DocFlavor;Ljavax/print/attribute/PrintRequestAttributeSet;)Ljavax/print/PrintService;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=19, args_size=7
        start local 0 // java.awt.GraphicsConfiguration gc
        start local 1 // int x
        start local 2 // int y
        start local 3 // javax.print.PrintService[] services
        start local 4 // javax.print.PrintService defaultService
        start local 5 // javax.print.DocFlavor flavor
        start local 6 // javax.print.attribute.PrintRequestAttributeSet attributes
         0: .line 162
            iconst_m1
            istore 7 /* defaultIndex */
        start local 7 // int defaultIndex
         1: .line 164
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifeq 3
         2: .line 165
            new java.awt.HeadlessException
            dup
            invokespecial java.awt.HeadlessException.<init>:()V
            athrow
         3: .line 166
      StackMap locals: int
      StackMap stack:
            aload 3 /* services */
            ifnull 4
            aload 3 /* services */
            arraylength
            ifne 5
         4: .line 167
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "services must be non-null and non-empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 169
      StackMap locals:
      StackMap stack:
            aload 6 /* attributes */
            ifnonnull 7
         6: .line 170
            new java.lang.IllegalArgumentException
            dup
            ldc "attributes must be non-null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 173
      StackMap locals:
      StackMap stack:
            aload 4 /* defaultService */
            ifnull 17
         8: .line 174
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 14
        10: .line 175
      StackMap locals: int
      StackMap stack:
            aload 3 /* services */
            iload 8 /* i */
            aaload
            aload 4 /* defaultService */
            invokeinterface javax.print.PrintService.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 176
            iload 8 /* i */
            istore 7 /* defaultIndex */
        12: .line 177
            goto 15
        13: .line 174
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* i */
            aload 3 /* services */
            arraylength
            if_icmplt 10
        end local 8 // int i
        15: .line 181
      StackMap locals:
      StackMap stack:
            iload 7 /* defaultIndex */
            ifge 18
        16: .line 182
            new java.lang.IllegalArgumentException
            dup
            ldc "services must contain defaultService"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 186
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* defaultIndex */
        18: .line 191
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* owner */
        start local 8 // java.awt.Window owner
        19: .line 193
            aload 0 /* gc */
            ifnonnull 22
        20: .line 194
            invokestatic java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment:()Ljava/awt/GraphicsEnvironment;
            invokevirtual java.awt.GraphicsEnvironment.getDefaultScreenDevice:()Ljava/awt/GraphicsDevice;
        21: .line 195
            invokevirtual java.awt.GraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
            goto 23
      StackMap locals: java.awt.Window
      StackMap stack:
        22: aload 0 /* gc */
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
        23: .line 193
      StackMap locals:
      StackMap stack: java.awt.Rectangle
            astore 9 /* gcBounds */
        start local 9 // java.awt.Rectangle gcBounds
        24: .line 198
            aload 8 /* owner */
            instanceof java.awt.Frame
            ifeq 33
        25: .line 199
            new sun.print.ServiceDialog
            dup
            aload 0 /* gc */
        26: .line 200
            iload 1 /* x */
            aload 9 /* gcBounds */
            getfield java.awt.Rectangle.x:I
            iadd
        27: .line 201
            iload 2 /* y */
            aload 9 /* gcBounds */
            getfield java.awt.Rectangle.y:I
            iadd
        28: .line 202
            aload 3 /* services */
            iload 7 /* defaultIndex */
        29: .line 203
            aload 5 /* flavor */
            aload 6 /* attributes */
        30: .line 204
            aload 8 /* owner */
            checkcast java.awt.Frame
        31: .line 199
            invokespecial sun.print.ServiceDialog.<init>:(Ljava/awt/GraphicsConfiguration;II[Ljavax/print/PrintService;ILjavax/print/DocFlavor;Ljavax/print/attribute/PrintRequestAttributeSet;Ljava/awt/Frame;)V
            astore 10 /* dialog */
        start local 10 // sun.print.ServiceDialog dialog
        32: .line 205
            goto 40
        end local 10 // sun.print.ServiceDialog dialog
        33: .line 206
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            new sun.print.ServiceDialog
            dup
            aload 0 /* gc */
        34: .line 207
            iload 1 /* x */
            aload 9 /* gcBounds */
            getfield java.awt.Rectangle.x:I
            iadd
        35: .line 208
            iload 2 /* y */
            aload 9 /* gcBounds */
            getfield java.awt.Rectangle.y:I
            iadd
        36: .line 209
            aload 3 /* services */
            iload 7 /* defaultIndex */
        37: .line 210
            aload 5 /* flavor */
            aload 6 /* attributes */
        38: .line 211
            aload 8 /* owner */
            checkcast java.awt.Dialog
        39: .line 206
            invokespecial sun.print.ServiceDialog.<init>:(Ljava/awt/GraphicsConfiguration;II[Ljavax/print/PrintService;ILjavax/print/DocFlavor;Ljavax/print/attribute/PrintRequestAttributeSet;Ljava/awt/Dialog;)V
            astore 10 /* dialog */
        start local 10 // sun.print.ServiceDialog dialog
        40: .line 213
      StackMap locals: sun.print.ServiceDialog
      StackMap stack:
            aload 10 /* dialog */
            invokevirtual sun.print.ServiceDialog.getBounds:()Ljava/awt/Rectangle;
            astore 11 /* dlgBounds */
        start local 11 // java.awt.Rectangle dlgBounds
        41: .line 216
            invokestatic java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment:()Ljava/awt/GraphicsEnvironment;
            astore 12 /* ge */
        start local 12 // java.awt.GraphicsEnvironment ge
        42: .line 217
            aload 12 /* ge */
            invokevirtual java.awt.GraphicsEnvironment.getScreenDevices:()[Ljava/awt/GraphicsDevice;
            astore 13 /* gs */
        start local 13 // java.awt.GraphicsDevice[] gs
        43: .line 218
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        44: goto 48
        45: .line 220
      StackMap locals: java.awt.GraphicsConfiguration int int javax.print.PrintService[] javax.print.PrintService javax.print.DocFlavor javax.print.attribute.PrintRequestAttributeSet int java.awt.Window java.awt.Rectangle sun.print.ServiceDialog java.awt.Rectangle java.awt.GraphicsEnvironment java.awt.GraphicsDevice[] int
      StackMap stack:
            aload 9 /* gcBounds */
            aload 13 /* gs */
            iload 14 /* j */
            aaload
            invokevirtual java.awt.GraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
            invokevirtual java.awt.Rectangle.union:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
        46: .line 219
            astore 9 /* gcBounds */
        47: .line 218
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        48: iload 14 /* j */
            aload 13 /* gs */
            arraylength
            if_icmplt 45
        end local 14 // int j
        49: .line 224
            aload 9 /* gcBounds */
            aload 11 /* dlgBounds */
            invokevirtual java.awt.Rectangle.contains:(Ljava/awt/Rectangle;)Z
            ifne 51
        50: .line 226
            aload 10 /* dialog */
            aload 8 /* owner */
            invokevirtual sun.print.ServiceDialog.setLocationRelativeTo:(Ljava/awt/Component;)V
        51: .line 228
      StackMap locals:
      StackMap stack:
            aload 10 /* dialog */
            invokevirtual sun.print.ServiceDialog.show:()V
        52: .line 230
            aload 10 /* dialog */
            invokevirtual sun.print.ServiceDialog.getStatus:()I
            iconst_1
            if_icmpne 70
        53: .line 231
            aload 10 /* dialog */
            invokevirtual sun.print.ServiceDialog.getAttributes:()Ljavax/print/attribute/PrintRequestAttributeSet;
            astore 14 /* newas */
        start local 14 // javax.print.attribute.PrintRequestAttributeSet newas
        54: .line 232
            ldc Ljavax/print/attribute/standard/Destination;
            astore 15 /* dstCategory */
        start local 15 // java.lang.Class dstCategory
        55: .line 233
            ldc Lsun/print/SunAlternateMedia;
            astore 16 /* amCategory */
        start local 16 // java.lang.Class amCategory
        56: .line 234
            ldc Ljavax/print/attribute/standard/Fidelity;
            astore 17 /* fdCategory */
        start local 17 // java.lang.Class fdCategory
        57: .line 236
            aload 6 /* attributes */
            aload 15 /* dstCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.containsKey:(Ljava/lang/Class;)Z
            ifeq 60
        58: .line 237
            aload 14 /* newas */
            aload 15 /* dstCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.containsKey:(Ljava/lang/Class;)Z
            ifne 60
        59: .line 239
            aload 6 /* attributes */
            aload 15 /* dstCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.remove:(Ljava/lang/Class;)Z
            pop
        60: .line 242
      StackMap locals: java.awt.GraphicsConfiguration int int javax.print.PrintService[] javax.print.PrintService javax.print.DocFlavor javax.print.attribute.PrintRequestAttributeSet int java.awt.Window java.awt.Rectangle sun.print.ServiceDialog java.awt.Rectangle java.awt.GraphicsEnvironment java.awt.GraphicsDevice[] javax.print.attribute.PrintRequestAttributeSet java.lang.Class java.lang.Class java.lang.Class
      StackMap stack:
            aload 6 /* attributes */
            aload 16 /* amCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.containsKey:(Ljava/lang/Class;)Z
            ifeq 63
        61: .line 243
            aload 14 /* newas */
            aload 16 /* amCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.containsKey:(Ljava/lang/Class;)Z
            ifne 63
        62: .line 245
            aload 6 /* attributes */
            aload 16 /* amCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.remove:(Ljava/lang/Class;)Z
            pop
        63: .line 248
      StackMap locals:
      StackMap stack:
            aload 6 /* attributes */
            aload 14 /* newas */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.addAll:(Ljavax/print/attribute/AttributeSet;)Z
            pop
        64: .line 250
            aload 6 /* attributes */
            aload 17 /* fdCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.get:(Ljava/lang/Class;)Ljavax/print/attribute/Attribute;
            checkcast javax.print.attribute.standard.Fidelity
            astore 18 /* fd */
        start local 18 // javax.print.attribute.standard.Fidelity fd
        65: .line 251
            aload 18 /* fd */
            ifnull 70
        66: .line 252
            aload 18 /* fd */
            getstatic javax.print.attribute.standard.Fidelity.FIDELITY_TRUE:Ljavax/print/attribute/standard/Fidelity;
            if_acmpne 70
        67: .line 253
            aload 10 /* dialog */
            invokevirtual sun.print.ServiceDialog.getPrintService:()Ljavax/print/PrintService;
        68: .line 254
            aload 5 /* flavor */
            aload 6 /* attributes */
        69: .line 253
            invokestatic javax.print.ServiceUI.removeUnsupportedAttributes:(Ljavax/print/PrintService;Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)V
        end local 18 // javax.print.attribute.standard.Fidelity fd
        end local 17 // java.lang.Class fdCategory
        end local 16 // java.lang.Class amCategory
        end local 15 // java.lang.Class dstCategory
        end local 14 // javax.print.attribute.PrintRequestAttributeSet newas
        70: .line 259
      StackMap locals: java.awt.GraphicsConfiguration int int javax.print.PrintService[] javax.print.PrintService javax.print.DocFlavor javax.print.attribute.PrintRequestAttributeSet int java.awt.Window java.awt.Rectangle sun.print.ServiceDialog java.awt.Rectangle java.awt.GraphicsEnvironment java.awt.GraphicsDevice[]
      StackMap stack:
            aload 10 /* dialog */
            invokevirtual sun.print.ServiceDialog.getPrintService:()Ljavax/print/PrintService;
            areturn
        end local 13 // java.awt.GraphicsDevice[] gs
        end local 12 // java.awt.GraphicsEnvironment ge
        end local 11 // java.awt.Rectangle dlgBounds
        end local 10 // sun.print.ServiceDialog dialog
        end local 9 // java.awt.Rectangle gcBounds
        end local 8 // java.awt.Window owner
        end local 7 // int defaultIndex
        end local 6 // javax.print.attribute.PrintRequestAttributeSet attributes
        end local 5 // javax.print.DocFlavor flavor
        end local 4 // javax.print.PrintService defaultService
        end local 3 // javax.print.PrintService[] services
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.GraphicsConfiguration gc
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   71     0              gc  Ljava/awt/GraphicsConfiguration;
            0   71     1               x  I
            0   71     2               y  I
            0   71     3        services  [Ljavax/print/PrintService;
            0   71     4  defaultService  Ljavax/print/PrintService;
            0   71     5          flavor  Ljavax/print/DocFlavor;
            0   71     6      attributes  Ljavax/print/attribute/PrintRequestAttributeSet;
            1   71     7    defaultIndex  I
            9   15     8               i  I
           19   71     8           owner  Ljava/awt/Window;
           24   71     9        gcBounds  Ljava/awt/Rectangle;
           32   33    10          dialog  Lsun/print/ServiceDialog;
           40   71    10          dialog  Lsun/print/ServiceDialog;
           41   71    11       dlgBounds  Ljava/awt/Rectangle;
           42   71    12              ge  Ljava/awt/GraphicsEnvironment;
           43   71    13              gs  [Ljava/awt/GraphicsDevice;
           44   49    14               j  I
           54   70    14           newas  Ljavax/print/attribute/PrintRequestAttributeSet;
           55   70    15     dstCategory  Ljava/lang/Class;
           56   70    16      amCategory  Ljava/lang/Class;
           57   70    17      fdCategory  Ljava/lang/Class;
           65   70    18              fd  Ljavax/print/attribute/standard/Fidelity;
    Exceptions:
      throws java.awt.HeadlessException
    MethodParameters:
                Name  Flags
      gc              
      x               
      y               
      services        
      defaultService  
      flavor          
      attributes      

  private static void removeUnsupportedAttributes(javax.print.PrintService, javax.print.DocFlavor, javax.print.attribute.AttributeSet);
    descriptor: (Ljavax/print/PrintService;Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // javax.print.PrintService ps
        start local 1 // javax.print.DocFlavor flavor
        start local 2 // javax.print.attribute.AttributeSet aset
         0: .line 312
            aload 0 /* ps */
            aload 1 /* flavor */
         1: .line 313
            aload 2 /* aset */
         2: .line 312
            invokeinterface javax.print.PrintService.getUnsupportedAttributes:(Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)Ljavax/print/attribute/AttributeSet;
            astore 3 /* asUnsupported */
        start local 3 // javax.print.attribute.AttributeSet asUnsupported
         3: .line 315
            aload 3 /* asUnsupported */
            ifnull 19
         4: .line 316
            aload 3 /* asUnsupported */
            invokeinterface javax.print.attribute.AttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
            astore 4 /* usAttrs */
        start local 4 // javax.print.attribute.Attribute[] usAttrs
         5: .line 318
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 18
         7: .line 319
      StackMap locals: javax.print.attribute.AttributeSet javax.print.attribute.Attribute[] int
      StackMap stack:
            aload 4 /* usAttrs */
            iload 5 /* i */
            aaload
            invokeinterface javax.print.attribute.Attribute.getCategory:()Ljava/lang/Class;
            astore 6 /* category */
        start local 6 // java.lang.Class category
         8: .line 321
            aload 0 /* ps */
            aload 6 /* category */
            invokeinterface javax.print.PrintService.isAttributeCategorySupported:(Ljava/lang/Class;)Z
            ifeq 16
         9: .line 323
            aload 0 /* ps */
            aload 6 /* category */
            invokeinterface javax.print.PrintService.getDefaultAttributeValue:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.print.attribute.Attribute
        10: .line 322
            astore 7 /* attr */
        start local 7 // javax.print.attribute.Attribute attr
        11: .line 325
            aload 7 /* attr */
            ifnull 14
        12: .line 326
            aload 2 /* aset */
            aload 7 /* attr */
            invokeinterface javax.print.attribute.AttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
            pop
        13: .line 327
            goto 17
        14: .line 328
      StackMap locals: java.lang.Class javax.print.attribute.Attribute
      StackMap stack:
            aload 2 /* aset */
            aload 6 /* category */
            invokeinterface javax.print.attribute.AttributeSet.remove:(Ljava/lang/Class;)Z
            pop
        end local 7 // javax.print.attribute.Attribute attr
        15: .line 330
            goto 17
        16: .line 331
      StackMap locals:
      StackMap stack:
            aload 2 /* aset */
            aload 6 /* category */
            invokeinterface javax.print.attribute.AttributeSet.remove:(Ljava/lang/Class;)Z
            pop
        end local 6 // java.lang.Class category
        17: .line 318
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            aload 4 /* usAttrs */
            arraylength
            if_icmplt 7
        end local 5 // int i
        end local 4 // javax.print.attribute.Attribute[] usAttrs
        19: .line 335
      StackMap locals:
      StackMap stack:
            return
        end local 3 // javax.print.attribute.AttributeSet asUnsupported
        end local 2 // javax.print.attribute.AttributeSet aset
        end local 1 // javax.print.DocFlavor flavor
        end local 0 // javax.print.PrintService ps
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0             ps  Ljavax/print/PrintService;
            0   20     1         flavor  Ljavax/print/DocFlavor;
            0   20     2           aset  Ljavax/print/attribute/AttributeSet;
            3   20     3  asUnsupported  Ljavax/print/attribute/AttributeSet;
            5   19     4        usAttrs  [Ljavax/print/attribute/Attribute;
            6   19     5              i  I
            8   17     6       category  Ljava/lang/Class;
           11   15     7           attr  Ljavax/print/attribute/Attribute;
    MethodParameters:
        Name  Flags
      ps      
      flavor  
      aset    
}
SourceFile: "ServiceUI.java"