public final class javax.imageio.spi.IIORegistry extends javax.imageio.spi.ServiceRegistry
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: javax.imageio.spi.IIORegistry
  super_class: javax.imageio.spi.ServiceRegistry
{
  private static final java.util.Vector initialCategories;
    descriptor: Ljava/util/Vector;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 118
            new java.util.Vector
            dup
            iconst_5
            invokespecial java.util.Vector.<init>:(I)V
            putstatic javax.imageio.spi.IIORegistry.initialCategories:Ljava/util/Vector;
         1: .line 121
            getstatic javax.imageio.spi.IIORegistry.initialCategories:Ljava/util/Vector;
            ldc Ljavax/imageio/spi/ImageReaderSpi;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         2: .line 122
            getstatic javax.imageio.spi.IIORegistry.initialCategories:Ljava/util/Vector;
            ldc Ljavax/imageio/spi/ImageWriterSpi;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         3: .line 123
            getstatic javax.imageio.spi.IIORegistry.initialCategories:Ljava/util/Vector;
            ldc Ljavax/imageio/spi/ImageTranscoderSpi;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         4: .line 124
            getstatic javax.imageio.spi.IIORegistry.initialCategories:Ljava/util/Vector;
            ldc Ljavax/imageio/spi/ImageInputStreamSpi;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         5: .line 125
            getstatic javax.imageio.spi.IIORegistry.initialCategories:Ljava/util/Vector;
            ldc Ljavax/imageio/spi/ImageOutputStreamSpi;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
         6: .line 126
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.spi.IIORegistry this
         0: .line 136
            aload 0 /* this */
            getstatic javax.imageio.spi.IIORegistry.initialCategories:Ljava/util/Vector;
            invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
            invokespecial javax.imageio.spi.ServiceRegistry.<init>:(Ljava/util/Iterator;)V
         1: .line 137
            aload 0 /* this */
            invokevirtual javax.imageio.spi.IIORegistry.registerStandardSpis:()V
         2: .line 138
            aload 0 /* this */
            invokevirtual javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis:()V
         3: .line 139
            return
        end local 0 // javax.imageio.spi.IIORegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/imageio/spi/IIORegistry;

  public static javax.imageio.spi.IIORegistry getDefaultInstance();
    descriptor: ()Ljavax/imageio/spi/IIORegistry;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 154
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            astore 0 /* context */
        start local 0 // sun.awt.AppContext context
         1: .line 156
            aload 0 /* context */
            ldc Ljavax/imageio/spi/IIORegistry;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.imageio.spi.IIORegistry
         2: .line 155
            astore 1 /* registry */
        start local 1 // javax.imageio.spi.IIORegistry registry
         3: .line 157
            aload 1 /* registry */
            ifnonnull 6
         4: .line 159
            new javax.imageio.spi.IIORegistry
            dup
            invokespecial javax.imageio.spi.IIORegistry.<init>:()V
            astore 1 /* registry */
         5: .line 160
            aload 0 /* context */
            ldc Ljavax/imageio/spi/IIORegistry;
            aload 1 /* registry */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 162
      StackMap locals: sun.awt.AppContext javax.imageio.spi.IIORegistry
      StackMap stack:
            aload 1 /* registry */
            areturn
        end local 1 // javax.imageio.spi.IIORegistry registry
        end local 0 // sun.awt.AppContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    7     0   context  Lsun/awt/AppContext;
            3    7     1  registry  Ljavax/imageio/spi/IIORegistry;

  private void registerStandardSpis();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.imageio.spi.IIORegistry this
         0: .line 167
            aload 0 /* this */
            new com.sun.imageio.plugins.gif.GIFImageReaderSpi
            dup
            invokespecial com.sun.imageio.plugins.gif.GIFImageReaderSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         1: .line 168
            aload 0 /* this */
            new com.sun.imageio.plugins.gif.GIFImageWriterSpi
            dup
            invokespecial com.sun.imageio.plugins.gif.GIFImageWriterSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         2: .line 169
            aload 0 /* this */
            new com.sun.imageio.plugins.bmp.BMPImageReaderSpi
            dup
            invokespecial com.sun.imageio.plugins.bmp.BMPImageReaderSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         3: .line 170
            aload 0 /* this */
            new com.sun.imageio.plugins.bmp.BMPImageWriterSpi
            dup
            invokespecial com.sun.imageio.plugins.bmp.BMPImageWriterSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         4: .line 171
            aload 0 /* this */
            new com.sun.imageio.plugins.wbmp.WBMPImageReaderSpi
            dup
            invokespecial com.sun.imageio.plugins.wbmp.WBMPImageReaderSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         5: .line 172
            aload 0 /* this */
            new com.sun.imageio.plugins.wbmp.WBMPImageWriterSpi
            dup
            invokespecial com.sun.imageio.plugins.wbmp.WBMPImageWriterSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         6: .line 173
            aload 0 /* this */
            new com.sun.imageio.plugins.png.PNGImageReaderSpi
            dup
            invokespecial com.sun.imageio.plugins.png.PNGImageReaderSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         7: .line 174
            aload 0 /* this */
            new com.sun.imageio.plugins.png.PNGImageWriterSpi
            dup
            invokespecial com.sun.imageio.plugins.png.PNGImageWriterSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         8: .line 175
            aload 0 /* this */
            new com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi
            dup
            invokespecial com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
         9: .line 176
            aload 0 /* this */
            new com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi
            dup
            invokespecial com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
        10: .line 177
            aload 0 /* this */
            new com.sun.imageio.spi.FileImageInputStreamSpi
            dup
            invokespecial com.sun.imageio.spi.FileImageInputStreamSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
        11: .line 178
            aload 0 /* this */
            new com.sun.imageio.spi.FileImageOutputStreamSpi
            dup
            invokespecial com.sun.imageio.spi.FileImageOutputStreamSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
        12: .line 179
            aload 0 /* this */
            new com.sun.imageio.spi.InputStreamImageInputStreamSpi
            dup
            invokespecial com.sun.imageio.spi.InputStreamImageInputStreamSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
        13: .line 180
            aload 0 /* this */
            new com.sun.imageio.spi.OutputStreamImageOutputStreamSpi
            dup
            invokespecial com.sun.imageio.spi.OutputStreamImageOutputStreamSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
        14: .line 181
            aload 0 /* this */
            new com.sun.imageio.spi.RAFImageInputStreamSpi
            dup
            invokespecial com.sun.imageio.spi.RAFImageInputStreamSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
        15: .line 182
            aload 0 /* this */
            new com.sun.imageio.spi.RAFImageOutputStreamSpi
            dup
            invokespecial com.sun.imageio.spi.RAFImageOutputStreamSpi.<init>:()V
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
        16: .line 184
            aload 0 /* this */
            invokevirtual javax.imageio.spi.IIORegistry.registerInstalledProviders:()V
        17: .line 185
            return
        end local 0 // javax.imageio.spi.IIORegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljavax/imageio/spi/IIORegistry;

  public void registerApplicationClasspathSpis();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // javax.imageio.spi.IIORegistry this
         0: .line 199
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* loader */
        start local 1 // java.lang.ClassLoader loader
         1: .line 201
            aload 0 /* this */
            invokevirtual javax.imageio.spi.IIORegistry.getCategories:()Ljava/util/Iterator;
            astore 2 /* categories */
        start local 2 // java.util.Iterator categories
         2: .line 202
            goto 16
         3: .line 203
      StackMap locals: java.lang.ClassLoader java.util.Iterator
      StackMap stack:
            aload 2 /* categories */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3 /* c */
        start local 3 // java.lang.Class c
         4: .line 205
            aload 3 /* c */
            aload 1 /* loader */
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
         5: .line 204
            astore 4 /* riter */
        start local 4 // java.util.Iterator riter
         6: .line 206
            goto 15
         7: .line 210
      StackMap locals: java.lang.Class java.util.Iterator
      StackMap stack:
            aload 4 /* riter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.spi.IIOServiceProvider
            astore 5 /* r */
        start local 5 // javax.imageio.spi.IIOServiceProvider r
         8: .line 211
            aload 0 /* this */
            aload 5 /* r */
            invokevirtual javax.imageio.spi.IIORegistry.registerServiceProvider:(Ljava/lang/Object;)V
        end local 5 // javax.imageio.spi.IIOServiceProvider r
         9: .line 212
            goto 15
      StackMap locals:
      StackMap stack: java.util.ServiceConfigurationError
        10: astore 5 /* err */
        start local 5 // java.util.ServiceConfigurationError err
        11: .line 213
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 14
        12: .line 216
            aload 5 /* err */
            invokevirtual java.util.ServiceConfigurationError.printStackTrace:()V
        13: .line 217
            goto 15
        14: .line 220
      StackMap locals: java.util.ServiceConfigurationError
      StackMap stack:
            aload 5 /* err */
            athrow
        end local 5 // java.util.ServiceConfigurationError err
        15: .line 206
      StackMap locals:
      StackMap stack:
            aload 4 /* riter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 4 // java.util.Iterator riter
        end local 3 // java.lang.Class c
        16: .line 202
      StackMap locals:
      StackMap stack:
            aload 2 /* categories */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        17: .line 225
            return
        end local 2 // java.util.Iterator categories
        end local 1 // java.lang.ClassLoader loader
        end local 0 // javax.imageio.spi.IIORegistry this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Ljavax/imageio/spi/IIORegistry;
            1   18     1      loader  Ljava/lang/ClassLoader;
            2   18     2  categories  Ljava/util/Iterator;
            4   16     3           c  Ljava/lang/Class<Ljavax/imageio/spi/IIOServiceProvider;>;
            6   16     4       riter  Ljava/util/Iterator<Ljavax/imageio/spi/IIOServiceProvider;>;
            8    9     5           r  Ljavax/imageio/spi/IIOServiceProvider;
           11   15     5         err  Ljava/util/ServiceConfigurationError;
      Exception table:
        from    to  target  type
           7     9      10  Class java.util.ServiceConfigurationError

  private void registerInstalledProviders();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.imageio.spi.IIORegistry this
         0: .line 238
            new javax.imageio.spi.IIORegistry$1
            dup
            aload 0 /* this */
            invokespecial javax.imageio.spi.IIORegistry$1.<init>:(Ljavax/imageio/spi/IIORegistry;)V
         1: .line 237
            astore 1 /* doRegistration */
        start local 1 // java.security.PrivilegedAction doRegistration
         2: .line 251
            aload 1 /* doRegistration */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         3: .line 252
            return
        end local 1 // java.security.PrivilegedAction doRegistration
        end local 0 // javax.imageio.spi.IIORegistry this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljavax/imageio/spi/IIORegistry;
            2    4     1  doRegistration  Ljava/security/PrivilegedAction;
}
SourceFile: "IIORegistry.java"
NestMembers:
  javax.imageio.spi.IIORegistry$1
InnerClasses:
  javax.imageio.spi.IIORegistry$1