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
{
  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.print.StreamPrintServiceFactory this
         0: .line 58
            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 78
            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 77
            astore 0 /* services */
        start local 0 // javax.print.StreamPrintServiceFactory$Services services
         2: .line 79
            aload 0 /* services */
            ifnonnull 5
         3: .line 80
            new javax.print.StreamPrintServiceFactory$Services
            dup
            invokespecial javax.print.StreamPrintServiceFactory$Services.<init>:()V
            astore 0 /* services */
         4: .line 81
            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 83
      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<javax.print.StreamPrintServiceFactory> getListOfFactories();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 92
            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
    Signature: ()Ljava/util/ArrayList<Ljavax/print/StreamPrintServiceFactory;>;

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

  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 132
            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 133
            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[]
            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    2     0          flavor  Ljavax/print/DocFlavor;
            0    2     1  outputMimeType  Ljava/lang/String;
            1    2     2            list  Ljava/util/ArrayList<Ljavax/print/StreamPrintServiceFactory;>;
    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<javax.print.StreamPrintServiceFactory> getAllFactories();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 187
            ldc Ljavax/print/StreamPrintServiceFactory;
            dup
            astore 0
            monitorenter
         1: .line 189
            invokestatic javax.print.StreamPrintServiceFactory.getListOfFactories:()Ljava/util/ArrayList;
            astore 1 /* listOfFactories */
        start local 1 // java.util.ArrayList listOfFactories
         2: .line 190
            aload 1 /* listOfFactories */
            ifnull 5
         3: .line 191
            aload 1 /* listOfFactories */
            aload 0
            monitorexit
         4: areturn
         5: .line 193
      StackMap locals: java.lang.Class java.util.ArrayList
      StackMap stack:
            invokestatic javax.print.StreamPrintServiceFactory.initListOfFactories:()Ljava/util/ArrayList;
            astore 1 /* listOfFactories */
         6: .line 198
            new javax.print.StreamPrintServiceFactory$1
            dup
            invokespecial javax.print.StreamPrintServiceFactory$1.<init>:()V
         7: .line 197
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         8: .line 219
            goto 10
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         9: pop
        10: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* listOfFactories */
            aload 0
            monitorexit
        11: areturn
        end local 1 // java.util.ArrayList listOfFactories
        12: .line 187
      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<Ljavax/print/StreamPrintServiceFactory;>;
      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
    Signature: ()Ljava/util/ArrayList<Ljavax/print/StreamPrintServiceFactory;>;

  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 235
            iconst_0
            istore 2 /* f */
        start local 2 // int f
         1: goto 5
         2: .line 236
      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 237
            iconst_1
            ireturn
         4: .line 235
      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 240
            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<javax.print.StreamPrintServiceFactory> 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 260
            aload 0 /* flavor */
            ifnonnull 2
            aload 1 /* outType */
            ifnonnull 2
         1: .line 261
            invokestatic javax.print.StreamPrintServiceFactory.getAllFactories:()Ljava/util/ArrayList;
            areturn
         2: .line 264
      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 265
            invokestatic javax.print.StreamPrintServiceFactory.getAllFactories:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: javax.print.DocFlavor java.lang.String java.util.ArrayList top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.print.StreamPrintServiceFactory
            astore 3 /* factory */
        start local 3 // javax.print.StreamPrintServiceFactory factory
         5: .line 266
            aload 1 /* outType */
            ifnull 7
         6: .line 267
            aload 1 /* outType */
            aload 3 /* factory */
            invokevirtual javax.print.StreamPrintServiceFactory.getOutputFormat:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         7: .line 268
      StackMap locals: javax.print.DocFlavor java.lang.String java.util.ArrayList javax.print.StreamPrintServiceFactory java.util.Iterator
      StackMap stack:
            aload 0 /* flavor */
            ifnull 9
         8: .line 269
            aload 0 /* flavor */
            aload 3 /* factory */
            invokevirtual javax.print.StreamPrintServiceFactory.getSupportedDocFlavors:()[Ljavax/print/DocFlavor;
            invokestatic javax.print.StreamPrintServiceFactory.isMember:(Ljavax/print/DocFlavor;[Ljavax/print/DocFlavor;)Z
            ifeq 10
         9: .line 270
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            aload 3 /* factory */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // javax.print.StreamPrintServiceFactory factory
        10: .line 265
      StackMap locals: javax.print.DocFlavor java.lang.String java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 274
            aload 2 /* list */
            areturn
        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   12     0   flavor  Ljavax/print/DocFlavor;
            0   12     1  outType  Ljava/lang/String;
            3   12     2     list  Ljava/util/ArrayList<Ljavax/print/StreamPrintServiceFactory;>;
            5   10     3  factory  Ljavax/print/StreamPrintServiceFactory;
    Signature: (Ljavax/print/DocFlavor;Ljava/lang/String;)Ljava/util/ArrayList<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