public abstract class javax.imageio.metadata.IIOMetadata
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.imageio.metadata.IIOMetadata
  super_class: java.lang.Object
{
  protected boolean standardFormatSupported;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String nativeMetadataFormatName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String nativeMetadataFormatClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String[] extraMetadataFormatNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String[] extraMetadataFormatClassNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected javax.imageio.metadata.IIOMetadataController defaultController;
    descriptor: Ljavax/imageio/metadata/IIOMetadataController;
    flags: (0x0004) ACC_PROTECTED

  protected javax.imageio.metadata.IIOMetadataController controller;
    descriptor: Ljavax/imageio/metadata/IIOMetadataController;
    flags: (0x0004) ACC_PROTECTED

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatName:Ljava/lang/String;
         2: .line 85
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatClassName:Ljava/lang/String;
         3: .line 92
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatNames:[Ljava/lang/String;
         4: .line 100
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatClassNames:[Ljava/lang/String;
         5: .line 115
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.defaultController:Ljavax/imageio/metadata/IIOMetadataController;
         6: .line 129
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.controller:Ljavax/imageio/metadata/IIOMetadataController;
         7: .line 138
            return
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/imageio/metadata/IIOMetadata;

  protected void <init>(boolean, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[]);
    descriptor: (ZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // javax.imageio.metadata.IIOMetadata this
        start local 1 // boolean standardMetadataFormatSupported
        start local 2 // java.lang.String nativeMetadataFormatName
        start local 3 // java.lang.String nativeMetadataFormatClassName
        start local 4 // java.lang.String[] extraMetadataFormatNames
        start local 5 // java.lang.String[] extraMetadataFormatClassNames
         0: .line 172
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatName:Ljava/lang/String;
         2: .line 85
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatClassName:Ljava/lang/String;
         3: .line 92
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatNames:[Ljava/lang/String;
         4: .line 100
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatClassNames:[Ljava/lang/String;
         5: .line 115
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.defaultController:Ljavax/imageio/metadata/IIOMetadataController;
         6: .line 129
            aload 0 /* this */
            aconst_null
            putfield javax.imageio.metadata.IIOMetadata.controller:Ljavax/imageio/metadata/IIOMetadataController;
         7: .line 177
            aload 0 /* this */
            iload 1 /* standardMetadataFormatSupported */
            putfield javax.imageio.metadata.IIOMetadata.standardFormatSupported:Z
         8: .line 178
            aload 0 /* this */
            aload 2 /* nativeMetadataFormatName */
            putfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatName:Ljava/lang/String;
         9: .line 179
            aload 0 /* this */
            aload 3 /* nativeMetadataFormatClassName */
            putfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatClassName:Ljava/lang/String;
        10: .line 180
            aload 4 /* extraMetadataFormatNames */
            ifnull 32
        11: .line 181
            aload 4 /* extraMetadataFormatNames */
            arraylength
            ifne 15
        12: .line 182
            new java.lang.IllegalArgumentException
            dup
        13: .line 183
            ldc "extraMetadataFormatNames.length == 0!"
        14: .line 182
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 185
      StackMap locals: javax.imageio.metadata.IIOMetadata int java.lang.String java.lang.String java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 5 /* extraMetadataFormatClassNames */
            ifnonnull 19
        16: .line 186
            new java.lang.IllegalArgumentException
            dup
        17: .line 187
            ldc "extraMetadataFormatNames != null && extraMetadataFormatClassNames == null!"
        18: .line 186
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 189
      StackMap locals:
      StackMap stack:
            aload 5 /* extraMetadataFormatClassNames */
            arraylength
        20: .line 190
            aload 4 /* extraMetadataFormatNames */
            arraylength
        21: .line 189
            if_icmpeq 25
        22: .line 191
            new java.lang.IllegalArgumentException
            dup
        23: .line 192
            ldc "extraMetadataFormatClassNames.length != extraMetadataFormatNames.length!"
        24: .line 191
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        26: .line 195
            aload 4 /* extraMetadataFormatNames */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
        27: .line 194
            putfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatNames:[Ljava/lang/String;
        28: .line 196
            aload 0 /* this */
        29: .line 197
            aload 5 /* extraMetadataFormatClassNames */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
        30: .line 196
            putfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatClassNames:[Ljava/lang/String;
        31: .line 198
            goto 36
        32: .line 199
      StackMap locals:
      StackMap stack:
            aload 5 /* extraMetadataFormatClassNames */
            ifnull 36
        33: .line 200
            new java.lang.IllegalArgumentException
            dup
        34: .line 201
            ldc "extraMetadataFormatNames == null && extraMetadataFormatClassNames != null!"
        35: .line 200
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String[] extraMetadataFormatClassNames
        end local 4 // java.lang.String[] extraMetadataFormatNames
        end local 3 // java.lang.String nativeMetadataFormatClassName
        end local 2 // java.lang.String nativeMetadataFormatName
        end local 1 // boolean standardMetadataFormatSupported
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   37     0                             this  Ljavax/imageio/metadata/IIOMetadata;
            0   37     1  standardMetadataFormatSupported  Z
            0   37     2         nativeMetadataFormatName  Ljava/lang/String;
            0   37     3    nativeMetadataFormatClassName  Ljava/lang/String;
            0   37     4         extraMetadataFormatNames  [Ljava/lang/String;
            0   37     5    extraMetadataFormatClassNames  [Ljava/lang/String;
    MethodParameters:
                                 Name  Flags
      standardMetadataFormatSupported  
      nativeMetadataFormatName         
      nativeMetadataFormatClassName    
      extraMetadataFormatNames         
      extraMetadataFormatClassNames    

  public boolean isStandardMetadataFormatSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 224
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.standardFormatSupported:Z
            ireturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  public abstract boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String getNativeMetadataFormatName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 261
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatName:Ljava/lang/String;
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  public java.lang.String[] getExtraMetadataFormatNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 285
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatNames:[Ljava/lang/String;
            ifnonnull 2
         1: .line 286
            aconst_null
            areturn
         2: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatNames:[Ljava/lang/String;
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/imageio/metadata/IIOMetadata;

  public java.lang.String[] getMetadataFormatNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 311
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getNativeMetadataFormatName:()Ljava/lang/String;
            astore 1 /* nativeName */
        start local 1 // java.lang.String nativeName
         1: .line 312
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.isStandardMetadataFormatSupported:()Z
            ifeq 3
         2: .line 313
            ldc "javax_imageio_1.0"
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: aconst_null
         4: .line 312
      StackMap locals:
      StackMap stack: java.lang.String
            astore 2 /* standardName */
        start local 2 // java.lang.String standardName
         5: .line 314
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getExtraMetadataFormatNames:()[Ljava/lang/String;
            astore 3 /* extraNames */
        start local 3 // java.lang.String[] extraNames
         6: .line 316
            iconst_0
            istore 4 /* numFormats */
        start local 4 // int numFormats
         7: .line 317
            aload 1 /* nativeName */
            ifnull 9
         8: .line 318
            iinc 4 /* numFormats */ 1
         9: .line 320
      StackMap locals: java.lang.String java.lang.String[] int
      StackMap stack:
            aload 2 /* standardName */
            ifnull 11
        10: .line 321
            iinc 4 /* numFormats */ 1
        11: .line 323
      StackMap locals:
      StackMap stack:
            aload 3 /* extraNames */
            ifnull 13
        12: .line 324
            iload 4 /* numFormats */
            aload 3 /* extraNames */
            arraylength
            iadd
            istore 4 /* numFormats */
        13: .line 326
      StackMap locals:
      StackMap stack:
            iload 4 /* numFormats */
            ifne 15
        14: .line 327
            aconst_null
            areturn
        15: .line 330
      StackMap locals:
      StackMap stack:
            iload 4 /* numFormats */
            anewarray java.lang.String
            astore 5 /* formats */
        start local 5 // java.lang.String[] formats
        16: .line 331
            iconst_0
            istore 6 /* index */
        start local 6 // int index
        17: .line 332
            aload 1 /* nativeName */
            ifnull 19
        18: .line 333
            aload 5 /* formats */
            iload 6 /* index */
            iinc 6 /* index */ 1
            aload 1 /* nativeName */
            aastore
        19: .line 335
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* standardName */
            ifnull 21
        20: .line 336
            aload 5 /* formats */
            iload 6 /* index */
            iinc 6 /* index */ 1
            aload 2 /* standardName */
            aastore
        21: .line 338
      StackMap locals:
      StackMap stack:
            aload 3 /* extraNames */
            ifnull 27
        22: .line 339
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        23: goto 26
        24: .line 340
      StackMap locals: int
      StackMap stack:
            aload 5 /* formats */
            iload 6 /* index */
            iinc 6 /* index */ 1
            aload 3 /* extraNames */
            iload 7 /* i */
            aaload
            aastore
        25: .line 339
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 7 /* i */
            aload 3 /* extraNames */
            arraylength
            if_icmplt 24
        end local 7 // int i
        27: .line 344
      StackMap locals:
      StackMap stack:
            aload 5 /* formats */
            areturn
        end local 6 // int index
        end local 5 // java.lang.String[] formats
        end local 4 // int numFormats
        end local 3 // java.lang.String[] extraNames
        end local 2 // java.lang.String standardName
        end local 1 // java.lang.String nativeName
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Ljavax/imageio/metadata/IIOMetadata;
            1   28     1    nativeName  Ljava/lang/String;
            5   28     2  standardName  Ljava/lang/String;
            6   28     3    extraNames  [Ljava/lang/String;
            7   28     4    numFormats  I
           16   28     5       formats  [Ljava/lang/String;
           17   28     6         index  I
           23   27     7             i  I

  public javax.imageio.metadata.IIOMetadataFormat getMetadataFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/imageio/metadata/IIOMetadataFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // javax.imageio.metadata.IIOMetadata this
        start local 1 // java.lang.String formatName
         0: .line 377
            aload 1 /* formatName */
            ifnonnull 2
         1: .line 378
            new java.lang.IllegalArgumentException
            dup
            ldc "formatName == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.standardFormatSupported:Z
            ifeq 8
         3: .line 381
            aload 1 /* formatName */
         4: .line 382
            ldc "javax_imageio_1.0"
         5: .line 381
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         6: .line 382
            ifeq 8
         7: .line 383
            invokestatic javax.imageio.metadata.IIOMetadataFormatImpl.getStandardFormatInstance:()Ljavax/imageio/metadata/IIOMetadataFormat;
            areturn
         8: .line 385
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* formatClassName */
        start local 2 // java.lang.String formatClassName
         9: .line 386
            aload 1 /* formatName */
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 387
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.nativeMetadataFormatClassName:Ljava/lang/String;
            astore 2 /* formatClassName */
        11: .line 388
            goto 20
      StackMap locals: java.lang.String
      StackMap stack:
        12: aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatNames:[Ljava/lang/String;
            ifnull 20
        13: .line 389
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        14: goto 19
        15: .line 390
      StackMap locals: int
      StackMap stack:
            aload 1 /* formatName */
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatNames:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 391
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatClassNames:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            astore 2 /* formatClassName */
        17: .line 392
            goto 20
        18: .line 389
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.extraMetadataFormatNames:[Ljava/lang/String;
            arraylength
            if_icmplt 15
        end local 3 // int i
        20: .line 396
      StackMap locals:
      StackMap stack:
            aload 2 /* formatClassName */
            ifnonnull 22
        21: .line 397
            new java.lang.IllegalArgumentException
            dup
            ldc "Unsupported format name"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 400
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* cls */
        start local 3 // java.lang.Class cls
        23: .line 401
            aload 0 /* this */
            astore 4 /* o */
        start local 4 // java.lang.Object o
        24: .line 407
            new javax.imageio.metadata.IIOMetadata$1
            dup
            aload 0 /* this */
            aload 4 /* o */
            invokespecial javax.imageio.metadata.IIOMetadata$1.<init>:(Ljavax/imageio/metadata/IIOMetadata;Ljava/lang/Object;)V
        25: .line 406
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
        26: .line 405
            astore 5 /* loader */
        start local 5 // java.lang.ClassLoader loader
        27: .line 414
            aload 2 /* formatClassName */
            iconst_1
        28: .line 415
            aload 5 /* loader */
        29: .line 414
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* cls */
        30: .line 416
            goto 43
      StackMap locals: javax.imageio.metadata.IIOMetadata java.lang.String java.lang.String java.lang.Class java.lang.Object java.lang.ClassLoader
      StackMap stack: java.lang.ClassNotFoundException
        31: pop
        32: .line 422
            new javax.imageio.metadata.IIOMetadata$2
            dup
            aload 0 /* this */
            invokespecial javax.imageio.metadata.IIOMetadata$2.<init>:(Ljavax/imageio/metadata/IIOMetadata;)V
        33: .line 421
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
        34: .line 420
            astore 5 /* loader */
        35: .line 428
            aload 2 /* formatClassName */
            iconst_1
        36: .line 429
            aload 5 /* loader */
        37: .line 428
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* cls */
        38: .line 430
            goto 43
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        39: pop
        40: .line 434
            aload 2 /* formatClassName */
            iconst_1
        41: .line 435
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
        42: .line 434
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* cls */
        43: .line 439
      StackMap locals:
      StackMap stack:
            aload 3 /* cls */
            ldc "getInstance"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* meth */
        start local 6 // java.lang.reflect.Method meth
        44: .line 440
            aload 6 /* meth */
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.imageio.metadata.IIOMetadataFormat
        45: areturn
        end local 6 // java.lang.reflect.Method meth
        end local 5 // java.lang.ClassLoader loader
        end local 4 // java.lang.Object o
        end local 3 // java.lang.Class cls
        46: .line 441
      StackMap locals: javax.imageio.metadata.IIOMetadata java.lang.String java.lang.String
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        47: .line 443
            new java.lang.IllegalStateException
            dup
            ldc "Can't obtain format"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
        48: .line 442
            astore 4 /* ex */
        start local 4 // java.lang.RuntimeException ex
        49: .line 444
            aload 4 /* ex */
            aload 3 /* e */
            invokevirtual java.lang.RuntimeException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        50: .line 445
            aload 4 /* ex */
            athrow
        end local 4 // java.lang.RuntimeException ex
        end local 3 // java.lang.Exception e
        end local 2 // java.lang.String formatClassName
        end local 1 // java.lang.String formatName
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   51     0             this  Ljavax/imageio/metadata/IIOMetadata;
            0   51     1       formatName  Ljava/lang/String;
            9   51     2  formatClassName  Ljava/lang/String;
           14   20     3                i  I
           23   46     3              cls  Ljava/lang/Class;
           24   46     4                o  Ljava/lang/Object;
           27   46     5           loader  Ljava/lang/ClassLoader;
           44   46     6             meth  Ljava/lang/reflect/Method;
           47   51     3                e  Ljava/lang/Exception;
           49   51     4               ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
          27    30      31  Class java.lang.ClassNotFoundException
          35    38      39  Class java.lang.ClassNotFoundException
          22    45      46  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      formatName  

  public Node getAsTree(java.lang.String);
    descriptor: (Ljava/lang/String;)LNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 472
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNode cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;
    MethodParameters:
            Name  Flags
      formatName  

  public void mergeTree(java.lang.String, Node);
    descriptor: (Ljava/lang/String;LNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 506
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNode cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;
    Exceptions:
      throws javax.imageio.metadata.IIOInvalidTreeException
    MethodParameters:
            Name  Flags
      formatName  
      root        

  protected javax.imageio.metadata.IIOMetadataNode getStandardChromaNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 527
            aconst_null
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  protected javax.imageio.metadata.IIOMetadataNode getStandardCompressionNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 549
            aconst_null
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  protected javax.imageio.metadata.IIOMetadataNode getStandardDataNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 571
            aconst_null
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  protected javax.imageio.metadata.IIOMetadataNode getStandardDimensionNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 593
            aconst_null
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  protected javax.imageio.metadata.IIOMetadataNode getStandardDocumentNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 614
            aconst_null
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  protected javax.imageio.metadata.IIOMetadataNode getStandardTextNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 635
            aconst_null
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  protected javax.imageio.metadata.IIOMetadataNode getStandardTileNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 656
            aconst_null
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  protected javax.imageio.metadata.IIOMetadataNode getStandardTransparencyNode();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 676
            aconst_null
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  private void append(javax.imageio.metadata.IIOMetadataNode, javax.imageio.metadata.IIOMetadataNode);
    descriptor: (Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 685
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method appendChild(Node) from the type IIOMetadataNode refers to the missing type Node\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;
    MethodParameters:
      Name  Flags
      root  
      node  

  protected final javax.imageio.metadata.IIOMetadataNode getStandardTree();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 716
            new javax.imageio.metadata.IIOMetadataNode
            dup
         1: .line 717
            ldc "javax_imageio_1.0"
         2: .line 716
            invokespecial javax.imageio.metadata.IIOMetadataNode.<init>:(Ljava/lang/String;)V
            astore 1 /* root */
        start local 1 // javax.imageio.metadata.IIOMetadataNode root
         3: .line 718
            aload 0 /* this */
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getStandardChromaNode:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadata.append:(Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
         4: .line 719
            aload 0 /* this */
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getStandardCompressionNode:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadata.append:(Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
         5: .line 720
            aload 0 /* this */
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getStandardDataNode:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadata.append:(Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
         6: .line 721
            aload 0 /* this */
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getStandardDimensionNode:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadata.append:(Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
         7: .line 722
            aload 0 /* this */
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getStandardDocumentNode:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadata.append:(Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
         8: .line 723
            aload 0 /* this */
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getStandardTextNode:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadata.append:(Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
         9: .line 724
            aload 0 /* this */
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getStandardTileNode:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadata.append:(Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
        10: .line 725
            aload 0 /* this */
            aload 1 /* root */
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getStandardTransparencyNode:()Ljavax/imageio/metadata/IIOMetadataNode;
            invokevirtual javax.imageio.metadata.IIOMetadata.append:(Ljavax/imageio/metadata/IIOMetadataNode;Ljavax/imageio/metadata/IIOMetadataNode;)V
        11: .line 726
            aload 1 /* root */
            areturn
        end local 1 // javax.imageio.metadata.IIOMetadataNode root
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljavax/imageio/metadata/IIOMetadata;
            3   12     1  root  Ljavax/imageio/metadata/IIOMetadataNode;

  public void setFromTree(java.lang.String, Node);
    descriptor: (Ljava/lang/String;LNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 756
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNode cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;
    Exceptions:
      throws javax.imageio.metadata.IIOInvalidTreeException
    MethodParameters:
            Name  Flags
      formatName  
      root        

  public abstract void reset();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void setController(javax.imageio.metadata.IIOMetadataController);
    descriptor: (Ljavax/imageio/metadata/IIOMetadataController;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.imageio.metadata.IIOMetadata this
        start local 1 // javax.imageio.metadata.IIOMetadataController controller
         0: .line 800
            aload 0 /* this */
            aload 1 /* controller */
            putfield javax.imageio.metadata.IIOMetadata.controller:Ljavax/imageio/metadata/IIOMetadataController;
         1: .line 801
            return
        end local 1 // javax.imageio.metadata.IIOMetadataController controller
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljavax/imageio/metadata/IIOMetadata;
            0    2     1  controller  Ljavax/imageio/metadata/IIOMetadataController;
    MethodParameters:
            Name  Flags
      controller  

  public javax.imageio.metadata.IIOMetadataController getController();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataController;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 822
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.controller:Ljavax/imageio/metadata/IIOMetadataController;
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  public javax.imageio.metadata.IIOMetadataController getDefaultController();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadataController;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 843
            aload 0 /* this */
            getfield javax.imageio.metadata.IIOMetadata.defaultController:Ljavax/imageio/metadata/IIOMetadataController;
            areturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/imageio/metadata/IIOMetadata;

  public boolean hasController();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 863
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getController:()Ljavax/imageio/metadata/IIOMetadataController;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/imageio/metadata/IIOMetadata;

  public boolean activateController();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.imageio.metadata.IIOMetadata this
         0: .line 895
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.hasController:()Z
            ifne 2
         1: .line 896
            new java.lang.IllegalStateException
            dup
            ldc "hasController() == false!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.imageio.metadata.IIOMetadata.getController:()Ljavax/imageio/metadata/IIOMetadataController;
            aload 0 /* this */
            invokeinterface javax.imageio.metadata.IIOMetadataController.activate:(Ljavax/imageio/metadata/IIOMetadata;)Z
            ireturn
        end local 0 // javax.imageio.metadata.IIOMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/imageio/metadata/IIOMetadata;
}
SourceFile: "IIOMetadata.java"
NestMembers:
  javax.imageio.metadata.IIOMetadata$1  javax.imageio.metadata.IIOMetadata$2
InnerClasses:
  javax.imageio.metadata.IIOMetadata$1
  javax.imageio.metadata.IIOMetadata$2