public class org.apache.batik.util.Service
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.util.Service
  super_class: java.lang.Object
{
  static java.util.HashMap providerMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 48
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.apache.batik.util.Service.providerMap:Ljava/util/HashMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.util.Service this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.batik.util.Service this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/util/Service;

  public static synchronized java.util.Iterator providers(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/util/Iterator;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=13, args_size=1
        start local 0 // java.lang.Class cls
         0: .line 62
            new java.lang.StringBuilder
            dup
            ldc "META-INF/services/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* serviceFile */
        start local 1 // java.lang.String serviceFile
         1: .line 66
            getstatic org.apache.batik.util.Service.providerMap:Ljava/util/HashMap;
            aload 1 /* serviceFile */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* l */
        start local 2 // java.util.List l
         2: .line 67
            aload 2 /* l */
            ifnull 4
         3: .line 68
            aload 2 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
         4: .line 70
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* l */
         5: .line 71
            getstatic org.apache.batik.util.Service.providerMap:Ljava/util/HashMap;
            aload 1 /* serviceFile */
            aload 2 /* l */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 73
            aconst_null
            astore 3 /* cl */
        start local 3 // java.lang.ClassLoader cl
         7: .line 75
            aload 0 /* cls */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
         8: .line 76
            goto 10
      StackMap locals: java.lang.Class java.lang.String java.util.List java.lang.ClassLoader
      StackMap stack: java.lang.SecurityException
         9: pop
        10: .line 80
      StackMap locals:
      StackMap stack:
            aload 3 /* cl */
            ifnonnull 11
            ldc Lorg/apache/batik/util/Service;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
        11: .line 83
      StackMap locals:
      StackMap stack:
            aload 3 /* cl */
            ifnonnull 12
            aload 2 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        12: .line 87
      StackMap locals:
      StackMap stack:
            aload 3 /* cl */
            aload 1 /* serviceFile */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
        13: .line 88
            goto 103
        end local 4 // java.util.Enumeration e
      StackMap locals:
      StackMap stack: java.io.IOException
        14: pop
        15: .line 89
            aload 2 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        start local 4 // java.util.Enumeration e
        16: .line 93
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aconst_null
            astore 5 /* is */
        start local 5 // java.io.InputStream is
        17: .line 94
            aconst_null
            astore 6 /* r */
        start local 6 // java.io.Reader r
        18: .line 95
            aconst_null
            astore 7 /* br */
        start local 7 // java.io.BufferedReader br
        19: .line 97
            aload 4 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 8 /* u */
        start local 8 // java.net.URL u
        20: .line 100
            aload 8 /* u */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 5 /* is */
        21: .line 101
            new java.io.InputStreamReader
            dup
            aload 5 /* is */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 6 /* r */
        22: .line 102
            new java.io.BufferedReader
            dup
            aload 6 /* r */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 7 /* br */
        23: .line 104
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 9 /* line */
        start local 9 // java.lang.String line
        24: .line 105
            goto 37
        25: .line 108
      StackMap locals: java.lang.Class java.lang.String java.util.List java.lang.ClassLoader java.util.Enumeration java.io.InputStream java.io.Reader java.io.BufferedReader java.net.URL java.lang.String
      StackMap stack:
            aload 9 /* line */
            bipush 35
            invokevirtual java.lang.String.indexOf:(I)I
            istore 10 /* idx */
        start local 10 // int idx
        26: .line 109
            iload 10 /* idx */
            iconst_m1
            if_icmpeq 28
        27: .line 110
            aload 9 /* line */
            iconst_0
            iload 10 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* line */
        28: .line 113
      StackMap locals: int
      StackMap stack:
            aload 9 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 9 /* line */
        29: .line 116
            aload 9 /* line */
            invokevirtual java.lang.String.length:()I
            ifne 32
        30: .line 117
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 9 /* line */
        31: .line 118
            goto 37
        32: .line 123
      StackMap locals:
      StackMap stack:
            aload 3 /* cl */
            aload 9 /* line */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* obj */
        start local 11 // java.lang.Object obj
        33: .line 125
            aload 2 /* l */
            aload 11 /* obj */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.Object obj
        end local 10 // int idx
        34: .line 126
            goto 36
      StackMap locals: java.lang.Class java.lang.String java.util.List java.lang.ClassLoader java.util.Enumeration java.io.InputStream java.io.Reader java.io.BufferedReader java.net.URL java.lang.String
      StackMap stack: java.lang.Exception
        35: pop
        36: .line 129
      StackMap locals:
      StackMap stack:
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 9 /* line */
        37: .line 105
      StackMap locals:
      StackMap stack:
            aload 9 /* line */
            ifnonnull 25
        end local 9 // java.lang.String line
        end local 8 // java.net.URL u
        38: .line 131
            goto 88
      StackMap locals: java.lang.Class java.lang.String java.util.List java.lang.ClassLoader java.util.Enumeration java.io.InputStream java.io.Reader java.io.BufferedReader
      StackMap stack: java.lang.Exception
        39: pop
        40: .line 137
            aload 5 /* is */
            ifnull 45
        41: .line 139
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
        42: .line 140
            goto 44
      StackMap locals:
      StackMap stack: java.io.IOException
        43: pop
        44: .line 142
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* is */
        45: .line 144
      StackMap locals:
      StackMap stack:
            aload 6 /* r */
            ifnull 50
        46: .line 146
            aload 6 /* r */
            invokevirtual java.io.Reader.close:()V
        47: .line 147
            goto 49
      StackMap locals:
      StackMap stack: java.io.IOException
        48: pop
        49: .line 149
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* r */
        50: .line 151
      StackMap locals:
      StackMap stack:
            aload 7 /* br */
            ifnull 103
        51: .line 153
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        52: .line 154
            goto 54
      StackMap locals:
      StackMap stack: java.io.IOException
        53: pop
        54: .line 156
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* br */
            goto 103
        55: .line 133
      StackMap locals:
      StackMap stack: java.lang.LinkageError
            pop
        56: .line 137
            aload 5 /* is */
            ifnull 61
        57: .line 139
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
        58: .line 140
            goto 60
      StackMap locals:
      StackMap stack: java.io.IOException
        59: pop
        60: .line 142
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* is */
        61: .line 144
      StackMap locals:
      StackMap stack:
            aload 6 /* r */
            ifnull 66
        62: .line 146
            aload 6 /* r */
            invokevirtual java.io.Reader.close:()V
        63: .line 147
            goto 65
      StackMap locals:
      StackMap stack: java.io.IOException
        64: pop
        65: .line 149
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* r */
        66: .line 151
      StackMap locals:
      StackMap stack:
            aload 7 /* br */
            ifnull 103
        67: .line 153
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        68: .line 154
            goto 70
      StackMap locals:
      StackMap stack: java.io.IOException
        69: pop
        70: .line 156
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* br */
            goto 103
        71: .line 135
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        72: .line 137
            aload 5 /* is */
            ifnull 77
        73: .line 139
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
        74: .line 140
            goto 76
      StackMap locals: java.lang.Class java.lang.String java.util.List java.lang.ClassLoader java.util.Enumeration java.io.InputStream java.io.Reader java.io.BufferedReader top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        75: pop
        76: .line 142
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* is */
        77: .line 144
      StackMap locals:
      StackMap stack:
            aload 6 /* r */
            ifnull 82
        78: .line 146
            aload 6 /* r */
            invokevirtual java.io.Reader.close:()V
        79: .line 147
            goto 81
      StackMap locals:
      StackMap stack: java.io.IOException
        80: pop
        81: .line 149
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* r */
        82: .line 151
      StackMap locals:
      StackMap stack:
            aload 7 /* br */
            ifnull 87
        83: .line 153
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        84: .line 154
            goto 86
      StackMap locals:
      StackMap stack: java.io.IOException
        85: pop
        86: .line 156
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* br */
        87: .line 158
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        88: .line 137
      StackMap locals: java.lang.Class java.lang.String java.util.List java.lang.ClassLoader java.util.Enumeration java.io.InputStream java.io.Reader java.io.BufferedReader
      StackMap stack:
            aload 5 /* is */
            ifnull 93
        89: .line 139
            aload 5 /* is */
            invokevirtual java.io.InputStream.close:()V
        90: .line 140
            goto 92
      StackMap locals:
      StackMap stack: java.io.IOException
        91: pop
        92: .line 142
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* is */
        93: .line 144
      StackMap locals:
      StackMap stack:
            aload 6 /* r */
            ifnull 98
        94: .line 146
            aload 6 /* r */
            invokevirtual java.io.Reader.close:()V
        95: .line 147
            goto 97
      StackMap locals:
      StackMap stack: java.io.IOException
        96: pop
        97: .line 149
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* r */
        98: .line 151
      StackMap locals:
      StackMap stack:
            aload 7 /* br */
            ifnull 103
        99: .line 153
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.close:()V
       100: .line 154
            goto 102
      StackMap locals:
      StackMap stack: java.io.IOException
       101: pop
       102: .line 156
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7
        end local 7 // java.io.BufferedReader br
        end local 6 // java.io.Reader r
        end local 5 // java.io.InputStream is
       103: .line 92
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 16
       104: .line 160
            aload 2 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 4 // java.util.Enumeration e
        end local 3 // java.lang.ClassLoader cl
        end local 2 // java.util.List l
        end local 1 // java.lang.String serviceFile
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  105     0          cls  Ljava/lang/Class;
            1  105     1  serviceFile  Ljava/lang/String;
            2  105     2            l  Ljava/util/List;
            7  105     3           cl  Ljava/lang/ClassLoader;
           13   14     4            e  Ljava/util/Enumeration;
           16  105     4            e  Ljava/util/Enumeration;
           17  103     5           is  Ljava/io/InputStream;
           18  103     6            r  Ljava/io/Reader;
           19  103     7           br  Ljava/io/BufferedReader;
           20   38     8            u  Ljava/net/URL;
           24   38     9         line  Ljava/lang/String;
           26   34    10          idx  I
           33   34    11          obj  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.SecurityException
          12    13      14  Class java.io.IOException
          25    31      35  Class java.lang.Exception
          32    34      35  Class java.lang.Exception
          19    38      39  Class java.lang.Exception
          41    42      43  Class java.io.IOException
          46    47      48  Class java.io.IOException
          51    52      53  Class java.io.IOException
          19    38      55  Class java.lang.LinkageError
          57    58      59  Class java.io.IOException
          62    63      64  Class java.io.IOException
          67    68      69  Class java.io.IOException
          19    40      71  any
          55    56      71  any
          73    74      75  Class java.io.IOException
          78    79      80  Class java.io.IOException
          83    84      85  Class java.io.IOException
          89    90      91  Class java.io.IOException
          94    95      96  Class java.io.IOException
          99   100     101  Class java.io.IOException
    MethodParameters:
      Name  Flags
      cls   
}
SourceFile: "Service.java"