public class org.apache.fop.render.XMLHandlerRegistry
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.fop.render.XMLHandlerRegistry
  super_class: java.lang.Object
{
  private static org.apache.commons.logging.Log log;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.util.Map<java.lang.String, java.util.List<org.apache.fop.render.XMLHandler>> handlers;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/apache/fop/render/XMLHandler;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 40
            ldc Lorg/apache/fop/render/XMLHandlerRegistry;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.apache.fop.render.XMLHandlerRegistry.log:Lorg/apache/commons/logging/Log;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.fop.render.XMLHandlerRegistry this
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
         2: .line 44
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.fop.render.XMLHandlerRegistry.handlers:Ljava/util/Map;
         3: .line 50
            aload 0 /* this */
            invokevirtual org.apache.fop.render.XMLHandlerRegistry.discoverXMLHandlers:()V
         4: .line 51
            return
        end local 0 // org.apache.fop.render.XMLHandlerRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/fop/render/XMLHandlerRegistry;

  private void setDefaultXMLHandler(org.apache.fop.render.XMLHandler);
    descriptor: (Lorg/apache/fop/render/XMLHandler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.fop.render.XMLHandlerRegistry this
        start local 1 // org.apache.fop.render.XMLHandler handler
         0: .line 58
            aload 0 /* this */
            ldc "*"
            aload 1 /* handler */
            invokevirtual org.apache.fop.render.XMLHandlerRegistry.addXMLHandler:(Ljava/lang/String;Lorg/apache/fop/render/XMLHandler;)V
         1: .line 59
            return
        end local 1 // org.apache.fop.render.XMLHandler handler
        end local 0 // org.apache.fop.render.XMLHandlerRegistry this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/fop/render/XMLHandlerRegistry;
            0    2     1  handler  Lorg/apache/fop/render/XMLHandler;
    MethodParameters:
         Name  Flags
      handler  

  public void addXMLHandler(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.fop.render.XMLHandlerRegistry this
        start local 1 // java.lang.String classname
         0: .line 67
            aload 1 /* classname */
            invokestatic java.lang.Class.forName:(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;
            checkcast org.apache.fop.render.XMLHandler
            astore 2 /* handlerInstance */
        start local 2 // org.apache.fop.render.XMLHandler handlerInstance
         1: .line 68
            aload 0 /* this */
            aload 2 /* handlerInstance */
            invokevirtual org.apache.fop.render.XMLHandlerRegistry.addXMLHandler:(Lorg/apache/fop/render/XMLHandler;)V
        end local 2 // org.apache.fop.render.XMLHandler handlerInstance
         2: .line 69
            goto 24
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         3: pop
         4: .line 70
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 71
            aload 1 /* classname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 70
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 72
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            pop
         8: .line 73
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not instantiate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 74
            aload 1 /* classname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 73
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 75
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        12: .line 76
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not access "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 77
            aload 1 /* classname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 76
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 78
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            pop
        16: .line 79
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* classname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 80
            ldc " is not an "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 81
            ldc Lorg/apache/fop/render/XMLHandler;
            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;
        19: .line 79
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 82
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            astore 2 /* e */
        start local 2 // java.lang.NoSuchMethodException e
        21: .line 83
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.NoSuchMethodException e
        22: .line 84
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* e */
        start local 2 // java.lang.reflect.InvocationTargetException e
        23: .line 85
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.reflect.InvocationTargetException e
        24: .line 87
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String classname
        end local 0 // org.apache.fop.render.XMLHandlerRegistry this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lorg/apache/fop/render/XMLHandlerRegistry;
            0   25     1        classname  Ljava/lang/String;
            1    2     2  handlerInstance  Lorg/apache/fop/render/XMLHandler;
           21   22     2                e  Ljava/lang/NoSuchMethodException;
           23   24     2                e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.ClassNotFoundException
           0     2       7  Class java.lang.InstantiationException
           0     2      11  Class java.lang.IllegalAccessException
           0     2      15  Class java.lang.ClassCastException
           0     2      20  Class java.lang.NoSuchMethodException
           0     2      22  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
           Name  Flags
      classname  

  public void addXMLHandler(org.apache.fop.render.XMLHandler);
    descriptor: (Lorg/apache/fop/render/XMLHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.fop.render.XMLHandlerRegistry this
        start local 1 // org.apache.fop.render.XMLHandler handler
         0: .line 94
            aload 1 /* handler */
            invokeinterface org.apache.fop.render.XMLHandler.getNamespace:()Ljava/lang/String;
            astore 2 /* ns */
        start local 2 // java.lang.String ns
         1: .line 95
            aload 2 /* ns */
            ifnonnull 4
         2: .line 96
            aload 0 /* this */
            aload 1 /* handler */
            invokevirtual org.apache.fop.render.XMLHandlerRegistry.setDefaultXMLHandler:(Lorg/apache/fop/render/XMLHandler;)V
         3: .line 97
            goto 5
         4: .line 98
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ns */
            aload 1 /* handler */
            invokevirtual org.apache.fop.render.XMLHandlerRegistry.addXMLHandler:(Ljava/lang/String;Lorg/apache/fop/render/XMLHandler;)V
         5: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String ns
        end local 1 // org.apache.fop.render.XMLHandler handler
        end local 0 // org.apache.fop.render.XMLHandlerRegistry this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/fop/render/XMLHandlerRegistry;
            0    6     1  handler  Lorg/apache/fop/render/XMLHandler;
            1    6     2       ns  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      handler  

  private void addXMLHandler(java.lang.String, org.apache.fop.render.XMLHandler);
    descriptor: (Ljava/lang/String;Lorg/apache/fop/render/XMLHandler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.fop.render.XMLHandlerRegistry this
        start local 1 // java.lang.String ns
        start local 2 // org.apache.fop.render.XMLHandler handler
         0: .line 108
            aload 0 /* this */
            getfield org.apache.fop.render.XMLHandlerRegistry.handlers:Ljava/util/Map;
            aload 1 /* ns */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* lst */
        start local 3 // java.util.List lst
         1: .line 109
            aload 3 /* lst */
            ifnonnull 4
         2: .line 110
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* lst */
         3: .line 111
            aload 0 /* this */
            getfield org.apache.fop.render.XMLHandlerRegistry.handlers:Ljava/util/Map;
            aload 1 /* ns */
            aload 3 /* lst */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 113
      StackMap locals: java.util.List
      StackMap stack:
            aload 3 /* lst */
            aload 2 /* handler */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 114
            return
        end local 3 // java.util.List lst
        end local 2 // org.apache.fop.render.XMLHandler handler
        end local 1 // java.lang.String ns
        end local 0 // org.apache.fop.render.XMLHandlerRegistry this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/fop/render/XMLHandlerRegistry;
            0    6     1       ns  Ljava/lang/String;
            0    6     2  handler  Lorg/apache/fop/render/XMLHandler;
            1    6     3      lst  Ljava/util/List<Lorg/apache/fop/render/XMLHandler;>;
    MethodParameters:
         Name  Flags
      ns       
      handler  

  public org.apache.fop.render.XMLHandler getXMLHandler(org.apache.fop.render.Renderer, java.lang.String);
    descriptor: (Lorg/apache/fop/render/Renderer;Ljava/lang/String;)Lorg/apache/fop/render/XMLHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.fop.render.XMLHandlerRegistry this
        start local 1 // org.apache.fop.render.Renderer renderer
        start local 2 // java.lang.String ns
         0: .line 126
            aload 0 /* this */
            getfield org.apache.fop.render.XMLHandlerRegistry.handlers:Ljava/util/Map;
            aload 2 /* ns */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* lst */
        start local 4 // java.util.List lst
         1: .line 127
            aload 0 /* this */
            aload 1 /* renderer */
            aload 4 /* lst */
            invokevirtual org.apache.fop.render.XMLHandlerRegistry.getXMLHandler:(Lorg/apache/fop/render/Renderer;Ljava/util/List;)Lorg/apache/fop/render/XMLHandler;
            astore 3 /* handler */
        start local 3 // org.apache.fop.render.XMLHandler handler
         2: .line 128
            aload 3 /* handler */
            ifnonnull 5
         3: .line 129
            aload 0 /* this */
            getfield org.apache.fop.render.XMLHandlerRegistry.handlers:Ljava/util/Map;
            ldc "*"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* lst */
         4: .line 130
            aload 0 /* this */
            aload 1 /* renderer */
            aload 4 /* lst */
            invokevirtual org.apache.fop.render.XMLHandlerRegistry.getXMLHandler:(Lorg/apache/fop/render/Renderer;Ljava/util/List;)Lorg/apache/fop/render/XMLHandler;
            astore 3 /* handler */
         5: .line 132
      StackMap locals: org.apache.fop.render.XMLHandler java.util.List
      StackMap stack:
            aload 3 /* handler */
            areturn
        end local 4 // java.util.List lst
        end local 3 // org.apache.fop.render.XMLHandler handler
        end local 2 // java.lang.String ns
        end local 1 // org.apache.fop.render.Renderer renderer
        end local 0 // org.apache.fop.render.XMLHandlerRegistry this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/fop/render/XMLHandlerRegistry;
            0    6     1  renderer  Lorg/apache/fop/render/Renderer;
            0    6     2        ns  Ljava/lang/String;
            2    6     3   handler  Lorg/apache/fop/render/XMLHandler;
            1    6     4       lst  Ljava/util/List<Lorg/apache/fop/render/XMLHandler;>;
    MethodParameters:
          Name  Flags
      renderer  
      ns        

  private org.apache.fop.render.XMLHandler getXMLHandler(org.apache.fop.render.Renderer, java.util.List<org.apache.fop.render.XMLHandler>);
    descriptor: (Lorg/apache/fop/render/Renderer;Ljava/util/List;)Lorg/apache/fop/render/XMLHandler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.apache.fop.render.XMLHandlerRegistry this
        start local 1 // org.apache.fop.render.Renderer renderer
        start local 2 // java.util.List lst
         0: .line 137
            aload 2 /* lst */
            ifnull 7
         1: .line 138
            aload 2 /* lst */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: org.apache.fop.render.XMLHandlerRegistry org.apache.fop.render.Renderer java.util.List top top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.fop.render.XMLHandler
            astore 4 /* aLst */
        start local 4 // org.apache.fop.render.XMLHandler aLst
         3: .line 140
            aload 4 /* aLst */
            astore 3 /* handler */
        start local 3 // org.apache.fop.render.XMLHandler handler
         4: .line 141
            aload 3 /* handler */
            aload 1 /* renderer */
            invokeinterface org.apache.fop.render.XMLHandler.supportsRenderer:(Lorg/apache/fop/render/Renderer;)Z
            ifeq 6
         5: .line 142
            aload 3 /* handler */
            areturn
        end local 4 // org.apache.fop.render.XMLHandler aLst
        end local 3 // org.apache.fop.render.XMLHandler handler
         6: .line 138
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 146
      StackMap locals: org.apache.fop.render.XMLHandlerRegistry org.apache.fop.render.Renderer java.util.List
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.List lst
        end local 1 // org.apache.fop.render.Renderer renderer
        end local 0 // org.apache.fop.render.XMLHandlerRegistry this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/fop/render/XMLHandlerRegistry;
            0    8     1  renderer  Lorg/apache/fop/render/Renderer;
            0    8     2       lst  Ljava/util/List<Lorg/apache/fop/render/XMLHandler;>;
            4    6     3   handler  Lorg/apache/fop/render/XMLHandler;
            3    6     4      aLst  Lorg/apache/fop/render/XMLHandler;
    Signature: (Lorg/apache/fop/render/Renderer;Ljava/util/List<Lorg/apache/fop/render/XMLHandler;>;)Lorg/apache/fop/render/XMLHandler;
    MethodParameters:
          Name  Flags
      renderer  
      lst       

  private void discoverXMLHandlers();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.fop.render.XMLHandlerRegistry this
         0: .line 155
            ldc Lorg/apache/fop/render/XMLHandler;
            invokestatic org.apache.xmlgraphics.util.Service.providers:(Ljava/lang/Class;)Ljava/util/Iterator;
            astore 1 /* providers */
        start local 1 // java.util.Iterator providers
         1: .line 156
            aload 1 /* providers */
            ifnull 11
         2: .line 157
            goto 10
         3: .line 158
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* providers */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.fop.render.XMLHandler
            astore 2 /* handler */
        start local 2 // org.apache.fop.render.XMLHandler handler
         4: .line 160
            getstatic org.apache.fop.render.XMLHandlerRegistry.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 6
         5: .line 161
            getstatic org.apache.fop.render.XMLHandlerRegistry.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Dynamically adding XMLHandler: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* handler */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            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;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         6: .line 163
      StackMap locals: org.apache.fop.render.XMLHandler
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            invokevirtual org.apache.fop.render.XMLHandlerRegistry.addXMLHandler:(Lorg/apache/fop/render/XMLHandler;)V
         7: .line 164
            goto 10
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         8: astore 3 /* e */
        start local 3 // java.lang.IllegalArgumentException e
         9: .line 165
            getstatic org.apache.fop.render.XMLHandlerRegistry.log:Lorg/apache/commons/logging/Log;
            ldc "Error while adding XMLHandler"
            aload 3 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.IllegalArgumentException e
        end local 2 // org.apache.fop.render.XMLHandler handler
        10: .line 157
      StackMap locals:
      StackMap stack:
            aload 1 /* providers */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Iterator providers
        end local 0 // org.apache.fop.render.XMLHandlerRegistry this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/apache/fop/render/XMLHandlerRegistry;
            1   12     1  providers  Ljava/util/Iterator<Ljava/lang/Object;>;
            4   10     2    handler  Lorg/apache/fop/render/XMLHandler;
            9   10     3          e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           4     7       8  Class java.lang.IllegalArgumentException
}
SourceFile: "XMLHandlerRegistry.java"