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 68
            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=18, 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 159
            iconst_m1
            istore 7 /* defaultIndex */
        start local 7 // int defaultIndex
         1: .line 161
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifeq 3
         2: .line 162
            new java.awt.HeadlessException
            dup
            invokespecial java.awt.HeadlessException.<init>:()V
            athrow
         3: .line 163
      StackMap locals: int
      StackMap stack:
            aload 3 /* services */
            ifnull 4
            aload 3 /* services */
            arraylength
            ifne 5
         4: .line 164
      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 166
      StackMap locals:
      StackMap stack:
            aload 6 /* attributes */
            ifnonnull 7
         6: .line 167
            new java.lang.IllegalArgumentException
            dup
            ldc "attributes must be non-null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 170
      StackMap locals:
      StackMap stack:
            aload 4 /* defaultService */
            ifnull 17
         8: .line 171
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 14
        10: .line 172
      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 173
            iload 8 /* i */
            istore 7 /* defaultIndex */
        12: .line 174
            goto 15
        13: .line 171
      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 178
      StackMap locals:
      StackMap stack:
            iload 7 /* defaultIndex */
            ifge 18
        16: .line 179
            new java.lang.IllegalArgumentException
            dup
            ldc "services must contain defaultService"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 183
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* defaultIndex */
        18: .line 186
      StackMap locals:
      StackMap stack:
            aload 6 /* attributes */
            ldc Lsun/print/DialogOwner;
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.get:(Ljava/lang/Class;)Ljavax/print/attribute/Attribute;
            checkcast sun.print.DialogOwner
            astore 8 /* dlgOwner */
        start local 8 // sun.print.DialogOwner dlgOwner
        19: .line 187
            aload 8 /* dlgOwner */
            ifnull 20
            aload 8 /* dlgOwner */
            invokevirtual sun.print.DialogOwner.getOwner:()Ljava/awt/Window;
            goto 21
      StackMap locals: sun.print.DialogOwner
      StackMap stack:
        20: aconst_null
      StackMap locals:
      StackMap stack: java.awt.Window
        21: astore 9 /* owner */
        start local 9 // java.awt.Window owner
        22: .line 189
            aload 0 /* gc */
            ifnonnull 25
        23: .line 190
            invokestatic java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment:()Ljava/awt/GraphicsEnvironment;
            invokevirtual java.awt.GraphicsEnvironment.getDefaultScreenDevice:()Ljava/awt/GraphicsDevice;
        24: .line 191
            invokevirtual java.awt.GraphicsDevice.getDefaultConfiguration:()Ljava/awt/GraphicsConfiguration;
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
            goto 26
      StackMap locals: java.awt.Window
      StackMap stack:
        25: aload 0 /* gc */
            invokevirtual java.awt.GraphicsConfiguration.getBounds:()Ljava/awt/Rectangle;
        26: .line 189
      StackMap locals:
      StackMap stack: java.awt.Rectangle
            astore 10 /* gcBounds */
        start local 10 // java.awt.Rectangle gcBounds
        27: .line 193
            iload 1 /* x */
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.x:I
            iadd
            istore 1 /* x */
        28: .line 194
            iload 2 /* y */
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.y:I
            iadd
            istore 2 /* y */
        29: .line 196
            aload 9 /* owner */
            instanceof java.awt.Frame
            ifeq 38
        30: .line 197
            new sun.print.ServiceDialog
            dup
            aload 0 /* gc */
        31: .line 198
            iload 1 /* x */
        32: .line 199
            iload 2 /* y */
        33: .line 200
            aload 3 /* services */
            iload 7 /* defaultIndex */
        34: .line 201
            aload 5 /* flavor */
            aload 6 /* attributes */
        35: .line 202
            aload 9 /* owner */
            checkcast java.awt.Frame
        36: .line 197
            invokespecial sun.print.ServiceDialog.<init>:(Ljava/awt/GraphicsConfiguration;II[Ljavax/print/PrintService;ILjavax/print/DocFlavor;Ljavax/print/attribute/PrintRequestAttributeSet;Ljava/awt/Frame;)V
            astore 11 /* dialog */
        start local 11 // sun.print.ServiceDialog dialog
        37: .line 203
            goto 45
        end local 11 // sun.print.ServiceDialog dialog
        38: .line 204
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            new sun.print.ServiceDialog
            dup
            aload 0 /* gc */
        39: .line 205
            iload 1 /* x */
        40: .line 206
            iload 2 /* y */
        41: .line 207
            aload 3 /* services */
            iload 7 /* defaultIndex */
        42: .line 208
            aload 5 /* flavor */
            aload 6 /* attributes */
        43: .line 209
            aload 9 /* owner */
            checkcast java.awt.Dialog
        44: .line 204
            invokespecial sun.print.ServiceDialog.<init>:(Ljava/awt/GraphicsConfiguration;II[Ljavax/print/PrintService;ILjavax/print/DocFlavor;Ljavax/print/attribute/PrintRequestAttributeSet;Ljava/awt/Dialog;)V
            astore 11 /* dialog */
        start local 11 // sun.print.ServiceDialog dialog
        45: .line 211
      StackMap locals: sun.print.ServiceDialog
      StackMap stack:
            aload 11 /* dialog */
            invokevirtual sun.print.ServiceDialog.getBounds:()Ljava/awt/Rectangle;
            astore 12 /* dlgBounds */
        start local 12 // java.awt.Rectangle dlgBounds
        46: .line 214
            aload 10 /* gcBounds */
            aload 12 /* dlgBounds */
            invokevirtual java.awt.Rectangle.contains:(Ljava/awt/Rectangle;)Z
            ifne 58
        47: .line 220
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.x:I
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.width:I
            iadd
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.x:I
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.width:I
            iadd
            if_icmple 52
        48: .line 221
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.x:I
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.width:I
            iadd
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.width:I
            isub
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.x:I
            if_icmple 51
        49: .line 222
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.x:I
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.width:I
            iadd
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.width:I
            isub
            istore 1 /* x */
        50: .line 223
            goto 52
        51: .line 224
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.x:I
            istore 1 /* x */
        52: .line 227
      StackMap locals:
      StackMap stack:
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.y:I
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.height:I
            iadd
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.y:I
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.height:I
            iadd
            if_icmple 57
        53: .line 228
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.y:I
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.height:I
            iadd
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.height:I
            isub
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.y:I
            if_icmple 56
        54: .line 229
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.y:I
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.height:I
            iadd
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.height:I
            isub
            istore 2 /* y */
        55: .line 230
            goto 57
        56: .line 231
      StackMap locals:
      StackMap stack:
            aload 10 /* gcBounds */
            getfield java.awt.Rectangle.y:I
            istore 2 /* y */
        57: .line 234
      StackMap locals:
      StackMap stack:
            aload 11 /* dialog */
            iload 1 /* x */
            iload 2 /* y */
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.width:I
            aload 12 /* dlgBounds */
            getfield java.awt.Rectangle.height:I
            invokevirtual sun.print.ServiceDialog.setBounds:(IIII)V
        58: .line 236
      StackMap locals:
      StackMap stack:
            aload 11 /* dialog */
            invokevirtual sun.print.ServiceDialog.show:()V
        59: .line 238
            aload 11 /* dialog */
            invokevirtual sun.print.ServiceDialog.getStatus:()I
            iconst_1
            if_icmpne 77
        60: .line 239
            aload 11 /* dialog */
            invokevirtual sun.print.ServiceDialog.getAttributes:()Ljavax/print/attribute/PrintRequestAttributeSet;
            astore 13 /* newas */
        start local 13 // javax.print.attribute.PrintRequestAttributeSet newas
        61: .line 240
            ldc Ljavax/print/attribute/standard/Destination;
            astore 14 /* dstCategory */
        start local 14 // java.lang.Class dstCategory
        62: .line 241
            ldc Lsun/print/SunAlternateMedia;
            astore 15 /* amCategory */
        start local 15 // java.lang.Class amCategory
        63: .line 242
            ldc Ljavax/print/attribute/standard/Fidelity;
            astore 16 /* fdCategory */
        start local 16 // java.lang.Class fdCategory
        64: .line 244
            aload 6 /* attributes */
            aload 14 /* dstCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.containsKey:(Ljava/lang/Class;)Z
            ifeq 67
        65: .line 245
            aload 13 /* newas */
            aload 14 /* dstCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.containsKey:(Ljava/lang/Class;)Z
            ifne 67
        66: .line 247
            aload 6 /* attributes */
            aload 14 /* dstCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.remove:(Ljava/lang/Class;)Z
            pop
        67: .line 250
      StackMap locals: java.awt.GraphicsConfiguration int int javax.print.PrintService[] javax.print.PrintService javax.print.DocFlavor javax.print.attribute.PrintRequestAttributeSet int sun.print.DialogOwner java.awt.Window java.awt.Rectangle sun.print.ServiceDialog java.awt.Rectangle javax.print.attribute.PrintRequestAttributeSet java.lang.Class java.lang.Class java.lang.Class
      StackMap stack:
            aload 6 /* attributes */
            aload 15 /* amCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.containsKey:(Ljava/lang/Class;)Z
            ifeq 70
        68: .line 251
            aload 13 /* newas */
            aload 15 /* amCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.containsKey:(Ljava/lang/Class;)Z
            ifne 70
        69: .line 253
            aload 6 /* attributes */
            aload 15 /* amCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.remove:(Ljava/lang/Class;)Z
            pop
        70: .line 256
      StackMap locals:
      StackMap stack:
            aload 6 /* attributes */
            aload 13 /* newas */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.addAll:(Ljavax/print/attribute/AttributeSet;)Z
            pop
        71: .line 258
            aload 6 /* attributes */
            aload 16 /* fdCategory */
            invokeinterface javax.print.attribute.PrintRequestAttributeSet.get:(Ljava/lang/Class;)Ljavax/print/attribute/Attribute;
            checkcast javax.print.attribute.standard.Fidelity
            astore 17 /* fd */
        start local 17 // javax.print.attribute.standard.Fidelity fd
        72: .line 259
            aload 17 /* fd */
            ifnull 77
        73: .line 260
            aload 17 /* fd */
            getstatic javax.print.attribute.standard.Fidelity.FIDELITY_TRUE:Ljavax/print/attribute/standard/Fidelity;
            if_acmpne 77
        74: .line 261
            aload 11 /* dialog */
            invokevirtual sun.print.ServiceDialog.getPrintService:()Ljavax/print/PrintService;
        75: .line 262
            aload 5 /* flavor */
            aload 6 /* attributes */
        76: .line 261
            invokestatic javax.print.ServiceUI.removeUnsupportedAttributes:(Ljavax/print/PrintService;Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)V
        end local 17 // javax.print.attribute.standard.Fidelity fd
        end local 16 // java.lang.Class fdCategory
        end local 15 // java.lang.Class amCategory
        end local 14 // java.lang.Class dstCategory
        end local 13 // javax.print.attribute.PrintRequestAttributeSet newas
        77: .line 267
      StackMap locals: java.awt.GraphicsConfiguration int int javax.print.PrintService[] javax.print.PrintService javax.print.DocFlavor javax.print.attribute.PrintRequestAttributeSet int sun.print.DialogOwner java.awt.Window java.awt.Rectangle sun.print.ServiceDialog java.awt.Rectangle
      StackMap stack:
            aload 11 /* dialog */
            invokevirtual sun.print.ServiceDialog.getPrintService:()Ljavax/print/PrintService;
            areturn
        end local 12 // java.awt.Rectangle dlgBounds
        end local 11 // sun.print.ServiceDialog dialog
        end local 10 // java.awt.Rectangle gcBounds
        end local 9 // java.awt.Window owner
        end local 8 // sun.print.DialogOwner dlgOwner
        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   78     0              gc  Ljava/awt/GraphicsConfiguration;
            0   78     1               x  I
            0   78     2               y  I
            0   78     3        services  [Ljavax/print/PrintService;
            0   78     4  defaultService  Ljavax/print/PrintService;
            0   78     5          flavor  Ljavax/print/DocFlavor;
            0   78     6      attributes  Ljavax/print/attribute/PrintRequestAttributeSet;
            1   78     7    defaultIndex  I
            9   15     8               i  I
           19   78     8        dlgOwner  Lsun/print/DialogOwner;
           22   78     9           owner  Ljava/awt/Window;
           27   78    10        gcBounds  Ljava/awt/Rectangle;
           37   38    11          dialog  Lsun/print/ServiceDialog;
           45   78    11          dialog  Lsun/print/ServiceDialog;
           46   78    12       dlgBounds  Ljava/awt/Rectangle;
           61   77    13           newas  Ljavax/print/attribute/PrintRequestAttributeSet;
           62   77    14     dstCategory  Ljava/lang/Class<*>;
           63   77    15      amCategory  Ljava/lang/Class<*>;
           64   77    16      fdCategory  Ljava/lang/Class<*>;
           72   77    17              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 320
            aload 0 /* ps */
            aload 1 /* flavor */
         1: .line 321
            aload 2 /* aset */
         2: .line 320
            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 323
            aload 3 /* asUnsupported */
            ifnull 19
         4: .line 324
            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 326
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 18
         7: .line 327
      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 329
            aload 0 /* ps */
            aload 6 /* category */
            invokeinterface javax.print.PrintService.isAttributeCategorySupported:(Ljava/lang/Class;)Z
            ifeq 16
         9: .line 331
            aload 0 /* ps */
            aload 6 /* category */
            invokeinterface javax.print.PrintService.getDefaultAttributeValue:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.print.attribute.Attribute
        10: .line 330
            astore 7 /* attr */
        start local 7 // javax.print.attribute.Attribute attr
        11: .line 333
            aload 7 /* attr */
            ifnull 14
        12: .line 334
            aload 2 /* aset */
            aload 7 /* attr */
            invokeinterface javax.print.attribute.AttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
            pop
        13: .line 335
            goto 17
        14: .line 336
      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 338
            goto 17
        16: .line 339
      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 326
      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 343
      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<+Ljavax/print/attribute/Attribute;>;
           11   15     7           attr  Ljavax/print/attribute/Attribute;
    MethodParameters:
        Name  Flags
      ps      
      flavor  
      aset    
}
SourceFile: "ServiceUI.java"