public abstract class javax.print.StreamPrintServiceFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.print.StreamPrintServiceFactory
  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.StreamPrintServiceFactory this
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.print.StreamPrintServiceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/print/StreamPrintServiceFactory;

  private static javax.print.StreamPrintServiceFactory$Services getServices();
    descriptor: ()Ljavax/print/StreamPrintServiceFactory$Services;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 67
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            ldc Ljavax/print/StreamPrintServiceFactory$Services;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.print.StreamPrintServiceFactory$Services
         1: .line 66
            astore 0 /* services */
        start local 0 // javax.print.StreamPrintServiceFactory$Services services
         2: .line 68
            aload 0 /* services */
            ifnonnull 5
         3: .line 69
            new javax.print.StreamPrintServiceFactory$Services
            dup
            invokespecial javax.print.StreamPrintServiceFactory$Services.<init>:()V
            astore 0 /* services */
         4: .line 70
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            ldc Ljavax/print/StreamPrintServiceFactory$Services;
            aload 0 /* services */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 72
      StackMap locals: javax.print.StreamPrintServiceFactory$Services
      StackMap stack:
            aload 0 /* services */
            areturn
        end local 0 // javax.print.StreamPrintServiceFactory$Services services
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            2    6     0  services  Ljavax/print/StreamPrintServiceFactory$Services;

  private static java.util.ArrayList getListOfFactories();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 76
            invokestatic javax.print.StreamPrintServiceFactory.getServices:()Ljavax/print/StreamPrintServiceFactory$Services;
            getfield javax.print.StreamPrintServiceFactory$Services.listOfFactories:Ljava/util/ArrayList;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.ArrayList initListOfFactories();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 80
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* listOfFactories */
        start local 0 // java.util.ArrayList listOfFactories
         1: .line 81
            invokestatic javax.print.StreamPrintServiceFactory.getServices:()Ljavax/print/StreamPrintServiceFactory$Services;
            aload 0 /* listOfFactories */
            putfield javax.print.StreamPrintServiceFactory$Services.listOfFactories:Ljava/util/ArrayList;
         2: .line 82
            aload 0 /* listOfFactories */
            areturn
        end local 0 // java.util.ArrayList listOfFactories
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1    3     0  listOfFactories  Ljava/util/ArrayList;

  public static javax.print.StreamPrintServiceFactory[] lookupStreamPrintServiceFactories(javax.print.DocFlavor, java.lang.String);
    descriptor: (Ljavax/print/DocFlavor;Ljava/lang/String;)[Ljavax/print/StreamPrintServiceFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.print.DocFlavor flavor
        start local 1 // java.lang.String outputMimeType
         0: .line 111
            aload 0 /* flavor */
            aload 1 /* outputMimeType */
            invokestatic javax.print.StreamPrintServiceFactory.getFactories:(Ljavax/print/DocFlavor;Ljava/lang/String;)Ljava/util/ArrayList;
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         1: .line 113
            aload 2 /* list */
            aload 2 /* list */
            invokevirtual java.util.ArrayList.size:()I
            anewarray javax.print.StreamPrintServiceFactory
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.print.StreamPrintServiceFactory[]
         2: .line 112
            areturn
        end local 2 // java.util.ArrayList list
        end local 1 // java.lang.String outputMimeType
        end local 0 // javax.print.DocFlavor flavor
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0          flavor  Ljavax/print/DocFlavor;
            0    3     1  outputMimeType  Ljava/lang/String;
            1    3     2            list  Ljava/util/ArrayList;
    MethodParameters:
                Name  Flags
      flavor          
      outputMimeType  

  public abstract java.lang.String getOutputFormat();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.print.DocFlavor[] getSupportedDocFlavors();
    descriptor: ()[Ljavax/print/DocFlavor;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.print.StreamPrintService getPrintService(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)Ljavax/print/StreamPrintService;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      out   

  private static java.util.ArrayList getAllFactories();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 166
            ldc Ljavax/print/StreamPrintServiceFactory;
            dup
            astore 0
            monitorenter
         1: .line 168
            invokestatic javax.print.StreamPrintServiceFactory.getListOfFactories:()Ljava/util/ArrayList;
            astore 1 /* listOfFactories */
        start local 1 // java.util.ArrayList listOfFactories
         2: .line 169
            aload 1 /* listOfFactories */
            ifnull 5
         3: .line 170
            aload 1 /* listOfFactories */
            aload 0
            monitorexit
         4: areturn
         5: .line 172
      StackMap locals: java.lang.Class java.util.ArrayList
      StackMap stack:
            invokestatic javax.print.StreamPrintServiceFactory.initListOfFactories:()Ljava/util/ArrayList;
            astore 1 /* listOfFactories */
         6: .line 177
            new javax.print.StreamPrintServiceFactory$1
            dup
            invokespecial javax.print.StreamPrintServiceFactory$1.<init>:()V
         7: .line 176
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         8: .line 198
            goto 10
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         9: pop
        10: .line 200
      StackMap locals:
      StackMap stack:
            aload 1 /* listOfFactories */
            aload 0
            monitorexit
        11: areturn
        end local 1 // java.util.ArrayList listOfFactories
        12: .line 166
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
        13: athrow
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            2   12     1  listOfFactories  Ljava/util/ArrayList;
      Exception table:
        from    to  target  type
           6     8       9  Class java.security.PrivilegedActionException
           1     4      12  any
           5    11      12  any
          12    13      12  any

  private static boolean isMember(javax.print.DocFlavor, javax.print.DocFlavor[]);
    descriptor: (Ljavax/print/DocFlavor;[Ljavax/print/DocFlavor;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.print.DocFlavor flavor
        start local 1 // javax.print.DocFlavor[] flavors
         0: .line 205
            iconst_0
            istore 2 /* f */
        start local 2 // int f
         1: goto 5
         2: .line 206
      StackMap locals: int
      StackMap stack:
            aload 0 /* flavor */
            aload 1 /* flavors */
            iload 2 /* f */
            aaload
            invokevirtual javax.print.DocFlavor.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 207
            iconst_1
            ireturn
         4: .line 205
      StackMap locals:
      StackMap stack:
            iinc 2 /* f */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* f */
            aload 1 /* flavors */
            arraylength
            if_icmplt 2
        end local 2 // int f
         6: .line 210
            iconst_0
            ireturn
        end local 1 // javax.print.DocFlavor[] flavors
        end local 0 // javax.print.DocFlavor flavor
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0   flavor  Ljavax/print/DocFlavor;
            0    7     1  flavors  [Ljavax/print/DocFlavor;
            1    6     2        f  I
    MethodParameters:
         Name  Flags
      flavor   
      flavors  

  private static java.util.ArrayList getFactories(javax.print.DocFlavor, java.lang.String);
    descriptor: (Ljavax/print/DocFlavor;Ljava/lang/String;)Ljava/util/ArrayList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javax.print.DocFlavor flavor
        start local 1 // java.lang.String outType
         0: .line 215
            aload 0 /* flavor */
            ifnonnull 2
            aload 1 /* outType */
            ifnonnull 2
         1: .line 216
            invokestatic javax.print.StreamPrintServiceFactory.getAllFactories:()Ljava/util/ArrayList;
            areturn
         2: .line 219
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         3: .line 220
            invokestatic javax.print.StreamPrintServiceFactory.getAllFactories:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3 /* iterator */
        start local 3 // java.util.Iterator iterator
         4: .line 221
            goto 12
         5: .line 223
      StackMap locals: java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.print.StreamPrintServiceFactory
         6: .line 222
            astore 4 /* factory */
        start local 4 // javax.print.StreamPrintServiceFactory factory
         7: .line 224
            aload 1 /* outType */
            ifnull 9
         8: .line 225
            aload 1 /* outType */
            aload 4 /* factory */
            invokevirtual javax.print.StreamPrintServiceFactory.getOutputFormat:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 12
         9: .line 226
      StackMap locals: javax.print.StreamPrintServiceFactory
      StackMap stack:
            aload 0 /* flavor */
            ifnull 11
        10: .line 227
            aload 0 /* flavor */
            aload 4 /* factory */
            invokevirtual javax.print.StreamPrintServiceFactory.getSupportedDocFlavors:()[Ljavax/print/DocFlavor;
            invokestatic javax.print.StreamPrintServiceFactory.isMember:(Ljavax/print/DocFlavor;[Ljavax/print/DocFlavor;)Z
            ifeq 12
        11: .line 228
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            aload 4 /* factory */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // javax.print.StreamPrintServiceFactory factory
        12: .line 221
      StackMap locals:
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 232
            aload 2 /* list */
            areturn
        end local 3 // java.util.Iterator iterator
        end local 2 // java.util.ArrayList list
        end local 1 // java.lang.String outType
        end local 0 // javax.print.DocFlavor flavor
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0    flavor  Ljavax/print/DocFlavor;
            0   14     1   outType  Ljava/lang/String;
            3   14     2      list  Ljava/util/ArrayList;
            4   14     3  iterator  Ljava/util/Iterator;
            7   12     4   factory  Ljavax/print/StreamPrintServiceFactory;
    MethodParameters:
         Name  Flags
      flavor   
      outType  
}
SourceFile: "StreamPrintServiceFactory.java"
NestMembers:
  javax.print.StreamPrintServiceFactory$1  javax.print.StreamPrintServiceFactory$Services
InnerClasses:
  javax.print.StreamPrintServiceFactory$1
  Services = javax.print.StreamPrintServiceFactory$Services of javax.print.StreamPrintServiceFactory