public class nu.xom.Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: nu.xom.Builder
  super_class: java.lang.Object
{
  private org.xml.sax.XMLReader parser;
    descriptor: Lorg/xml/sax/XMLReader;
    flags: (0x0002) ACC_PRIVATE

  private nu.xom.NodeFactory factory;
    descriptor: Lnu/xom/NodeFactory;
    flags: (0x0002) ACC_PRIVATE

  private static double xercesVersion;
    descriptor: D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String[] parsers;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String fileURLPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=0
         0: .line 65
            ldc 2.6
            putstatic nu.xom.Builder.xercesVersion:D
         1: .line 70
            invokestatic org.apache.xerces.impl.Version.getVersion:()Ljava/lang/String;
            astore 0 /* x */
        start local 0 // java.lang.String x
         2: .line 71
            aload 0 /* x */
            bipush 9
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* versionString */
        start local 1 // java.lang.String versionString
         3: .line 72
            aload 1 /* versionString */
            ldc "."
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* firstPeriod */
        start local 2 // int firstPeriod
         4: .line 73
            aload 1 /* versionString */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 3 /* secondPeriod */
        start local 3 // int secondPeriod
         5: .line 74
            aload 1 /* versionString */
            iconst_0
            iload 2 /* firstPeriod */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* major */
        start local 4 // java.lang.String major
         6: .line 75
            aload 1 /* versionString */
            iload 2 /* firstPeriod */
            iconst_1
            iadd
            iload 3 /* secondPeriod */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* minor */
        start local 5 // java.lang.String minor
         7: .line 76
            aload 5 /* minor */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            bipush 10
            if_icmpge 12
            aload 4 /* major */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iconst_3
            if_icmpge 12
         8: .line 77
            aload 0 /* x */
            bipush 9
            bipush 12
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            putstatic nu.xom.Builder.xercesVersion:D
        end local 5 // java.lang.String minor
        end local 4 // java.lang.String major
        end local 3 // int secondPeriod
        end local 2 // int firstPeriod
        end local 1 // java.lang.String versionString
        end local 0 // java.lang.String x
         9: .line 80
            goto 12
        10: .line 81
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
            goto 12
        11: .line 85
      StackMap locals:
      StackMap stack: java.lang.Error
            pop
        12: .line 172
      StackMap locals:
      StackMap stack:
            bipush 16
            anewarray java.lang.String
            dup
            iconst_0
        13: .line 173
            ldc "nu.xom.XML1_0Parser"
            aastore
            dup
            iconst_1
        14: .line 174
            ldc "nu.xom.JDK15XML1_0Parser"
            aastore
            dup
            iconst_2
        15: .line 175
            ldc "org.apache.xerces.parsers.SAXParser"
            aastore
            dup
            iconst_3
        16: .line 176
            ldc "org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser"
            aastore
            dup
            iconst_4
        17: .line 177
            ldc "com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser"
            aastore
            dup
            iconst_5
        18: .line 178
            ldc "com.sun.org.apache.xerces.internal.parsers.SAXParser"
            aastore
            dup
            bipush 6
        19: .line 179
            ldc "gnu.xml.aelfred2.XmlReader"
            aastore
            dup
            bipush 7
        20: .line 180
            ldc "org.apache.crimson.parser.XMLReaderImpl"
            aastore
            dup
            bipush 8
        21: .line 181
            ldc "com.bluecast.xml.Piccolo"
            aastore
            dup
            bipush 9
        22: .line 182
            ldc "oracle.xml.parser.v2.SAXParser"
            aastore
            dup
            bipush 10
        23: .line 183
            ldc "com.jclark.xml.sax.SAX2Driver"
            aastore
            dup
            bipush 11
        24: .line 184
            ldc "net.sf.saxon.aelfred.SAXDriver"
            aastore
            dup
            bipush 12
        25: .line 185
            ldc "com.icl.saxon.aelfred.SAXDriver"
            aastore
            dup
            bipush 13
        26: .line 186
            ldc "org.dom4j.io.aelfred2.SAXDriver"
            aastore
            dup
            bipush 14
        27: .line 187
            ldc "org.dom4j.io.aelfred.SAXDriver"
            aastore
            dup
            bipush 15
        28: .line 188
            ldc "org.xmlpull.v1.sax2.Driver"
            aastore
        29: .line 172
            putstatic nu.xom.Builder.parsers:[Ljava/lang/String;
        30: .line 640
            ldc "file://"
            putstatic nu.xom.Builder.fileURLPrefix:Ljava/lang/String;
        31: .line 643
            ldc "os.name"
            ldc "Unix"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* os */
        start local 0 // java.lang.String os
        32: .line 647
            aload 0 /* os */
            ldc "Windows"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 34
        33: .line 648
            ldc "file:/"
            putstatic nu.xom.Builder.fileURLPrefix:Ljava/lang/String;
        end local 0 // java.lang.String os
        34: .line 650
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            2    9     0              x  Ljava/lang/String;
            3    9     1  versionString  Ljava/lang/String;
            4    9     2    firstPeriod  I
            5    9     3   secondPeriod  I
            6    9     4          major  Ljava/lang/String;
            7    9     5          minor  Ljava/lang/String;
           32   34     0             os  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     9      10  Class java.lang.Exception
           1     9      11  Class java.lang.Error

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // nu.xom.Builder this
         0: .line 125
            aload 0 /* this */
            iconst_0
            invokespecial nu.xom.Builder.<init>:(Z)V
         1: .line 126
            return
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/Builder;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // boolean validate
         0: .line 145
            aload 0 /* this */
            iload 1 /* validate */
            invokestatic nu.xom.Builder.findParser:(Z)Lorg/xml/sax/XMLReader;
            iload 1 /* validate */
            aconst_null
            invokespecial nu.xom.Builder.<init>:(Lorg/xml/sax/XMLReader;ZLnu/xom/NodeFactory;)V
         1: .line 146
            return
        end local 1 // boolean validate
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lnu/xom/Builder;
            0    2     1  validate  Z
    MethodParameters:
          Name  Flags
      validate  

  public void <init>(boolean, nu.xom.NodeFactory);
    descriptor: (ZLnu/xom/NodeFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // nu.xom.Builder this
        start local 1 // boolean validate
        start local 2 // nu.xom.NodeFactory factory
         0: .line 167
            aload 0 /* this */
            iload 1 /* validate */
            invokestatic nu.xom.Builder.findParser:(Z)Lorg/xml/sax/XMLReader;
            iload 1 /* validate */
            aload 2 /* factory */
            invokespecial nu.xom.Builder.<init>:(Lorg/xml/sax/XMLReader;ZLnu/xom/NodeFactory;)V
         1: .line 168
            return
        end local 2 // nu.xom.NodeFactory factory
        end local 1 // boolean validate
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lnu/xom/Builder;
            0    2     1  validate  Z
            0    2     2   factory  Lnu/xom/NodeFactory;
    MethodParameters:
          Name  Flags
      validate  
      factory   

  static org.xml.sax.XMLReader findParser(boolean);
    descriptor: (Z)Lorg/xml/sax/XMLReader;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // boolean validate
         0: .line 199
            new nu.xom.XML1_0Parser
            dup
            invokespecial nu.xom.XML1_0Parser.<init>:()V
            astore 1 /* parser */
        start local 1 // org.xml.sax.XMLReader parser
         1: .line 200
            aload 1 /* parser */
            iload 0 /* validate */
            invokestatic nu.xom.Builder.setupParser:(Lorg/xml/sax/XMLReader;Z)V
         2: .line 201
            aload 1 /* parser */
         3: areturn
        end local 1 // org.xml.sax.XMLReader parser
         4: .line 203
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            pop
            goto 6
         5: .line 206
      StackMap locals:
      StackMap stack: java.lang.NoClassDefFoundError
            pop
         6: .line 212
      StackMap locals:
      StackMap stack:
            ldc "nu.xom.JDK15XML1_0Parser"
         7: .line 211
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
         8: .line 212
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.xml.sax.XMLReader
         9: .line 211
            astore 1 /* parser */
        start local 1 // org.xml.sax.XMLReader parser
        10: .line 213
            aload 1 /* parser */
            iload 0 /* validate */
            invokestatic nu.xom.Builder.setupParser:(Lorg/xml/sax/XMLReader;Z)V
        11: .line 214
            aload 1 /* parser */
        12: areturn
        end local 1 // org.xml.sax.XMLReader parser
        13: .line 216
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            pop
            goto 18
        14: .line 219
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            pop
            goto 18
        15: .line 222
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
            goto 18
        16: .line 225
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
            goto 18
        17: .line 228
      StackMap locals:
      StackMap stack: java.lang.NoClassDefFoundError
            pop
        18: .line 235
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 2 /* i */
        start local 2 // int i
        19: goto 27
        20: .line 237
      StackMap locals: int top int
      StackMap stack:
            getstatic nu.xom.Builder.parsers:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokestatic org.xml.sax.helpers.XMLReaderFactory.createXMLReader:(Ljava/lang/String;)Lorg/xml/sax/XMLReader;
            astore 1 /* parser */
        start local 1 // org.xml.sax.XMLReader parser
        21: .line 238
            aload 1 /* parser */
            iload 0 /* validate */
            invokestatic nu.xom.Builder.setupParser:(Lorg/xml/sax/XMLReader;Z)V
        22: .line 239
            aload 1 /* parser */
        23: areturn
        end local 1 // org.xml.sax.XMLReader parser
        24: .line 241
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            pop
            goto 26
        25: .line 244
      StackMap locals:
      StackMap stack: java.lang.NoClassDefFoundError
            pop
        26: .line 235
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 2 /* i */
            getstatic nu.xom.Builder.parsers:[Ljava/lang/String;
            arraylength
            if_icmplt 20
        end local 2 // int i
        28: .line 250
            invokestatic org.xml.sax.helpers.XMLReaderFactory.createXMLReader:()Lorg/xml/sax/XMLReader;
            astore 1 /* parser */
        start local 1 // org.xml.sax.XMLReader parser
        29: .line 251
            aload 1 /* parser */
            iload 0 /* validate */
            invokestatic nu.xom.Builder.setupParser:(Lorg/xml/sax/XMLReader;Z)V
        30: .line 252
            aload 1 /* parser */
        31: areturn
        end local 1 // org.xml.sax.XMLReader parser
        32: .line 254
      StackMap locals: int
      StackMap stack: org.xml.sax.SAXException
            astore 2 /* ex */
        start local 2 // org.xml.sax.SAXException ex
        33: .line 255
            new nu.xom.XMLException
            dup
        34: .line 256
            ldc "Could not find a suitable SAX2 parser"
            aload 2 /* ex */
        35: .line 255
            invokespecial nu.xom.XMLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // org.xml.sax.SAXException ex
        end local 0 // boolean validate
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   36     0  validate  Z
            1    4     1    parser  Lorg/xml/sax/XMLReader;
           10   13     1    parser  Lorg/xml/sax/XMLReader;
           21   24     1    parser  Lorg/xml/sax/XMLReader;
           29   32     1    parser  Lorg/xml/sax/XMLReader;
           19   28     2         i  I
           33   36     2        ex  Lorg/xml/sax/SAXException;
      Exception table:
        from    to  target  type
           0     3       4  Class org.xml.sax.SAXException
           0     3       5  Class java.lang.NoClassDefFoundError
           6    12      13  Class org.xml.sax.SAXException
           6    12      14  Class java.lang.InstantiationException
           6    12      15  Class java.lang.ClassNotFoundException
           6    12      16  Class java.lang.IllegalAccessException
           6    12      17  Class java.lang.NoClassDefFoundError
          20    23      24  Class org.xml.sax.SAXException
          20    23      25  Class java.lang.NoClassDefFoundError
          28    31      32  Class org.xml.sax.SAXException
    MethodParameters:
          Name  Flags
      validate  

  private static void setupParser(org.xml.sax.XMLReader, boolean);
    descriptor: (Lorg/xml/sax/XMLReader;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.xml.sax.XMLReader parser
        start local 1 // boolean validate
         0: .line 266
            aload 0 /* parser */
         1: .line 267
            ldc "http://xml.org/sax/features/namespace-prefixes"
            iconst_1
         2: .line 266
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
         3: .line 268
            aload 0 /* parser */
         4: .line 269
            ldc "http://xml.org/sax/features/namespaces"
            iconst_1
         5: .line 268
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
         6: .line 272
            aload 0 /* parser */
            astore 2 /* baseParser */
        start local 2 // org.xml.sax.XMLReader baseParser
         7: .line 273
            goto 11
         8: .line 274
      StackMap locals: org.xml.sax.XMLReader
      StackMap stack:
            aload 2 /* baseParser */
            checkcast org.xml.sax.XMLFilter
            invokeinterface org.xml.sax.XMLFilter.getParent:()Lorg/xml/sax/XMLReader;
            astore 3 /* parent */
        start local 3 // org.xml.sax.XMLReader parent
         9: .line 275
            aload 3 /* parent */
            ifnonnull 10
            goto 12
        10: .line 276
      StackMap locals: org.xml.sax.XMLReader
      StackMap stack:
            aload 3 /* parent */
            astore 2 /* baseParser */
        end local 3 // org.xml.sax.XMLReader parent
        11: .line 273
      StackMap locals:
      StackMap stack:
            aload 2 /* baseParser */
            instanceof org.xml.sax.XMLFilter
            ifne 8
        12: .line 279
      StackMap locals:
      StackMap stack:
            aload 2 /* baseParser */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* parserName */
        start local 3 // java.lang.String parserName
        13: .line 280
            iload 1 /* validate */
            ifne 31
        14: .line 281
            aload 3 /* parserName */
        15: .line 282
            ldc "org.apache.crimson.parser.XMLReaderImpl"
        16: .line 281
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        17: .line 282
            ifeq 22
        18: .line 283
            aload 0 /* parser */
        19: .line 284
            new nu.xom.Builder$NamespaceWellformednessRequired
            dup
            invokespecial nu.xom.Builder$NamespaceWellformednessRequired.<init>:()V
        20: .line 283
            invokeinterface org.xml.sax.XMLReader.setErrorHandler:(Lorg/xml/sax/ErrorHandler;)V
        21: .line 286
            goto 35
        22: .line 288
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* parser */
        23: .line 289
            ldc "http://xml.org/sax/features/external-general-entities"
        24: .line 290
            iconst_1
        25: .line 288
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
        26: .line 292
            aload 0 /* parser */
        27: .line 293
            ldc "http://xml.org/sax/features/external-parameter-entities"
        28: .line 294
            iconst_1
        29: .line 292
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
        30: .line 297
            goto 35
        31: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* parser */
        32: .line 300
            ldc "http://xml.org/sax/features/validation"
            iconst_1
        33: .line 299
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
        34: .line 301
            aload 0 /* parser */
            new nu.xom.Builder$ValidityRequired
            dup
            invokespecial nu.xom.Builder$ValidityRequired.<init>:()V
            invokeinterface org.xml.sax.XMLReader.setErrorHandler:(Lorg/xml/sax/ErrorHandler;)V
        35: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* parser */
        36: .line 306
            ldc "http://xml.org/sax/features/string-interning"
            iconst_1
        37: .line 305
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
        38: .line 307
            goto 40
        39: .line 308
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            pop
        40: .line 314
      StackMap locals:
      StackMap stack:
            aload 3 /* parserName */
            ldc "nu.xom.XML1_0Parser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        41: .line 315
            aload 3 /* parserName */
            ldc "nu.xom.JDK15XML1_0Parser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        42: .line 316
            aload 3 /* parserName */
            ldc "org.apache.xerces.parsers.SAXParser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        43: .line 317
            aload 3 /* parserName */
            ldc "com.sun.org.apache.xerces.internal.parsers.SAXParser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        44: .line 318
            aload 3 /* parserName */
            ldc "org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        45: .line 319
            aload 3 /* parserName */
            ldc "com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 57
        46: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* parser */
        47: .line 323
            ldc "http://apache.org/xml/features/allow-java-encodings"
            iconst_1
        48: .line 322
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
        49: .line 324
            goto 51
        50: .line 325
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            pop
        51: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* parser */
        52: .line 334
            ldc "http://apache.org/xml/features/standard-uri-conformant"
        53: .line 335
            iconst_1
        54: .line 333
            invokeinterface org.xml.sax.XMLReader.setFeature:(Ljava/lang/String;Z)V
        55: .line 336
            goto 57
        56: .line 337
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            pop
        57: .line 344
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String parserName
        end local 2 // org.xml.sax.XMLReader baseParser
        end local 1 // boolean validate
        end local 0 // org.xml.sax.XMLReader parser
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   58     0      parser  Lorg/xml/sax/XMLReader;
            0   58     1    validate  Z
            7   58     2  baseParser  Lorg/xml/sax/XMLReader;
            9   11     3      parent  Lorg/xml/sax/XMLReader;
           13   58     3  parserName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          35    38      39  Class org.xml.sax.SAXException
          46    49      50  Class org.xml.sax.SAXException
          51    55      56  Class org.xml.sax.SAXException
    Exceptions:
      throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException
    MethodParameters:
          Name  Flags
      parser    
      validate  

  public void <init>(org.xml.sax.XMLReader);
    descriptor: (Lorg/xml/sax/XMLReader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // org.xml.sax.XMLReader parser
         0: .line 363
            aload 0 /* this */
            aload 1 /* parser */
            iconst_0
            invokespecial nu.xom.Builder.<init>:(Lorg/xml/sax/XMLReader;Z)V
         1: .line 364
            return
        end local 1 // org.xml.sax.XMLReader parser
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lnu/xom/Builder;
            0    2     1  parser  Lorg/xml/sax/XMLReader;
    MethodParameters:
        Name  Flags
      parser  

  public void <init>(nu.xom.NodeFactory);
    descriptor: (Lnu/xom/NodeFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // nu.xom.NodeFactory factory
         0: .line 381
            aload 0 /* this */
            iconst_0
            invokestatic nu.xom.Builder.findParser:(Z)Lorg/xml/sax/XMLReader;
            iconst_0
            aload 1 /* factory */
            invokespecial nu.xom.Builder.<init>:(Lorg/xml/sax/XMLReader;ZLnu/xom/NodeFactory;)V
         1: .line 382
            return
        end local 1 // nu.xom.NodeFactory factory
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lnu/xom/Builder;
            0    2     1  factory  Lnu/xom/NodeFactory;
    MethodParameters:
         Name  Flags
      factory  

  public void <init>(org.xml.sax.XMLReader, boolean);
    descriptor: (Lorg/xml/sax/XMLReader;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // nu.xom.Builder this
        start local 1 // org.xml.sax.XMLReader parser
        start local 2 // boolean validate
         0: .line 406
            aload 0 /* this */
            aload 1 /* parser */
            iload 2 /* validate */
            aconst_null
            invokespecial nu.xom.Builder.<init>:(Lorg/xml/sax/XMLReader;ZLnu/xom/NodeFactory;)V
         1: .line 407
            return
        end local 2 // boolean validate
        end local 1 // org.xml.sax.XMLReader parser
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lnu/xom/Builder;
            0    2     1    parser  Lorg/xml/sax/XMLReader;
            0    2     2  validate  Z
    MethodParameters:
          Name  Flags
      parser    
      validate  

  public void <init>(org.xml.sax.XMLReader, boolean, nu.xom.NodeFactory);
    descriptor: (Lorg/xml/sax/XMLReader;ZLnu/xom/NodeFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // nu.xom.Builder this
        start local 1 // org.xml.sax.XMLReader parser
        start local 2 // boolean validate
        start local 3 // nu.xom.NodeFactory factory
         0: .line 435
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 439
            aload 1 /* parser */
            iload 2 /* validate */
            invokestatic nu.xom.Builder.setupParser:(Lorg/xml/sax/XMLReader;Z)V
         2: .line 440
            goto 12
         3: .line 441
      StackMap locals: nu.xom.Builder org.xml.sax.XMLReader int nu.xom.NodeFactory
      StackMap stack: org.xml.sax.SAXException
            astore 4 /* ex */
        start local 4 // org.xml.sax.SAXException ex
         4: .line 442
            iload 2 /* validate */
            ifeq 8
         5: .line 443
            new nu.xom.XMLException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* parser */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 444
            ldc " does not support validation."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* ex */
         7: .line 443
            invokespecial nu.xom.XMLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         8: .line 447
      StackMap locals: org.xml.sax.SAXException
      StackMap stack:
            new nu.xom.XMLException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* parser */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 448
            ldc " does not support the entity resolution"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 449
            ldc " features XOM requires."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* ex */
        11: .line 447
            invokespecial nu.xom.XMLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // org.xml.sax.SAXException ex
        12: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parser */
            putfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
        13: .line 455
            aload 0 /* this */
            aload 3 /* factory */
            putfield nu.xom.Builder.factory:Lnu/xom/NodeFactory;
        14: .line 456
            aload 0 /* this */
            invokevirtual nu.xom.Builder.setHandlers:()V
        15: .line 458
            return
        end local 3 // nu.xom.NodeFactory factory
        end local 2 // boolean validate
        end local 1 // org.xml.sax.XMLReader parser
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lnu/xom/Builder;
            0   16     1    parser  Lorg/xml/sax/XMLReader;
            0   16     2  validate  Z
            0   16     3   factory  Lnu/xom/NodeFactory;
            4   12     4        ex  Lorg/xml/sax/SAXException;
      Exception table:
        from    to  target  type
           1     2       3  Class org.xml.sax.SAXException
    MethodParameters:
          Name  Flags
      parser    
      validate  
      factory   

  private static boolean knownGoodParser(org.xml.sax.XMLReader);
    descriptor: (Lorg/xml/sax/XMLReader;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.xml.sax.XMLReader parser
         0: .line 463
            aload 0 /* parser */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* parserName */
        start local 1 // java.lang.String parserName
         1: .line 468
            aload 1 /* parserName */
            ldc "org.apache.xml.resolver.tools.ResolvingXMLFilter"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 469
            aload 0 /* parser */
            checkcast org.xml.sax.XMLFilter
            astore 2 /* filter */
        start local 2 // org.xml.sax.XMLFilter filter
         3: .line 470
            aload 2 /* filter */
            invokeinterface org.xml.sax.XMLFilter.getParent:()Lorg/xml/sax/XMLReader;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* parserName */
        end local 2 // org.xml.sax.XMLFilter filter
         4: .line 475
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* parserName */
            ldc "gnu.xml.aelfred2.XmlReader"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
            iconst_0
            ireturn
         5: .line 476
      StackMap locals:
      StackMap stack:
            aload 1 /* parserName */
            ldc "net.sf.saxon.aelfred.SAXDriver"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iconst_0
            ireturn
         6: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* parserName */
            ldc "com.icl.saxon.aelfred.SAXDriver"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            iconst_0
            ireturn
         7: .line 479
      StackMap locals:
      StackMap stack:
            aload 1 /* parserName */
            ldc "org.apache.xerces.parsers.SAXParser"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 480
            getstatic nu.xom.Builder.xercesVersion:D
            ldc 2.4
            dcmpl
            iflt 10
         9: .line 481
            iconst_0
            ireturn
        10: .line 484
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        11: goto 14
        12: .line 485
      StackMap locals: int
      StackMap stack:
            aload 1 /* parserName */
            getstatic nu.xom.Builder.parsers:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
            iconst_1
            ireturn
        13: .line 484
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            getstatic nu.xom.Builder.parsers:[Ljava/lang/String;
            arraylength
            if_icmplt 12
        end local 2 // int i
        15: .line 487
            iconst_0
            ireturn
        end local 1 // java.lang.String parserName
        end local 0 // org.xml.sax.XMLReader parser
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0      parser  Lorg/xml/sax/XMLReader;
            1   16     1  parserName  Ljava/lang/String;
            3    4     2      filter  Lorg/xml/sax/XMLFilter;
           11   15     2           i  I
    MethodParameters:
        Name  Flags
      parser  

  private void setHandlers();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // nu.xom.Builder this
         0: .line 494
            aload 0 /* this */
            getfield nu.xom.Builder.factory:Lnu/xom/NodeFactory;
            ifnull 2
         1: .line 495
            aload 0 /* this */
            getfield nu.xom.Builder.factory:Lnu/xom/NodeFactory;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "nu.xom.NodeFactory"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         2: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
            invokestatic nu.xom.Builder.knownGoodParser:(Lorg/xml/sax/XMLReader;)Z
            ifeq 7
         3: .line 499
            aload 0 /* this */
            getfield nu.xom.Builder.factory:Lnu/xom/NodeFactory;
            astore 2 /* tempFactory */
        start local 2 // nu.xom.NodeFactory tempFactory
         4: .line 500
            aload 2 /* tempFactory */
            ifnonnull 5
            new nu.xom.NodeFactory
            dup
            invokespecial nu.xom.NodeFactory.<init>:()V
            astore 2 /* tempFactory */
         5: .line 501
      StackMap locals: nu.xom.Builder top nu.xom.NodeFactory
      StackMap stack:
            new nu.xom.NonVerifyingHandler
            dup
            aload 2 /* tempFactory */
            invokespecial nu.xom.NonVerifyingHandler.<init>:(Lnu/xom/NodeFactory;)V
            astore 1 /* handler */
        end local 2 // nu.xom.NodeFactory tempFactory
        start local 1 // nu.xom.XOMHandler handler
         6: .line 502
            goto 9
        end local 1 // nu.xom.XOMHandler handler
         7: .line 504
      StackMap locals: nu.xom.Builder
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Builder.factory:Lnu/xom/NodeFactory;
            ifnonnull 8
            aload 0 /* this */
            new nu.xom.NodeFactory
            dup
            invokespecial nu.xom.NodeFactory.<init>:()V
            putfield nu.xom.Builder.factory:Lnu/xom/NodeFactory;
         8: .line 505
      StackMap locals:
      StackMap stack:
            new nu.xom.XOMHandler
            dup
            aload 0 /* this */
            getfield nu.xom.Builder.factory:Lnu/xom/NodeFactory;
            invokespecial nu.xom.XOMHandler.<init>:(Lnu/xom/NodeFactory;)V
            astore 1 /* handler */
        start local 1 // nu.xom.XOMHandler handler
         9: .line 508
      StackMap locals: nu.xom.XOMHandler
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
            aload 1 /* handler */
            invokeinterface org.xml.sax.XMLReader.setContentHandler:(Lorg/xml/sax/ContentHandler;)V
        10: .line 509
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
            aload 1 /* handler */
            invokeinterface org.xml.sax.XMLReader.setDTDHandler:(Lorg/xml/sax/DTDHandler;)V
        11: .line 512
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
        12: .line 513
            ldc "http://xml.org/sax/properties/lexical-handler"
        13: .line 514
            aload 1 /* handler */
        14: .line 512
            invokeinterface org.xml.sax.XMLReader.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 515
            goto 17
        16: .line 516
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            pop
        17: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
        18: .line 525
            ldc "http://xml.org/sax/properties/declaration-handler"
        19: .line 526
            aload 1 /* handler */
        20: .line 524
            invokeinterface org.xml.sax.XMLReader.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        21: .line 530
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        22: .line 531
            ldc "org.apache.crimson.parser.XMLReaderImpl"
        23: .line 530
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        24: .line 531
            ifeq 28
        25: .line 532
            aload 1 /* handler */
            iconst_1
            putfield nu.xom.XOMHandler.usingCrimson:Z
        26: .line 534
            goto 28
        27: .line 535
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            pop
        28: .line 541
      StackMap locals:
      StackMap stack:
            return
        end local 1 // nu.xom.XOMHandler handler
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lnu/xom/Builder;
            6    7     1      handler  Lnu/xom/XOMHandler;
            9   29     1      handler  Lnu/xom/XOMHandler;
            4    6     2  tempFactory  Lnu/xom/NodeFactory;
      Exception table:
        from    to  target  type
          11    15      16  Class org.xml.sax.SAXException
          17    26      27  Class org.xml.sax.SAXException

  public nu.xom.Document build(java.lang.String);
    descriptor: (Ljava/lang/String;)Lnu/xom/Document;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // java.lang.String systemID
         0: .line 575
            aload 0 /* this */
            aload 1 /* systemID */
            invokevirtual nu.xom.Builder.canonicalizeURL:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* systemID */
         1: .line 576
            new org.xml.sax.InputSource
            dup
            aload 1 /* systemID */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/lang/String;)V
            astore 2 /* source */
        start local 2 // org.xml.sax.InputSource source
         2: .line 577
            aload 0 /* this */
            aload 2 /* source */
            invokevirtual nu.xom.Builder.build:(Lorg/xml/sax/InputSource;)Lnu/xom/Document;
            areturn
        end local 2 // org.xml.sax.InputSource source
        end local 1 // java.lang.String systemID
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lnu/xom/Builder;
            0    3     1  systemID  Ljava/lang/String;
            2    3     2    source  Lorg/xml/sax/InputSource;
    Exceptions:
      throws nu.xom.ParsingException, nu.xom.ValidityException, java.io.IOException
    MethodParameters:
          Name  Flags
      systemID  

  public nu.xom.Document build(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Lnu/xom/Document;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // java.io.InputStream in
         0: .line 601
            aload 1 /* in */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            ldc "Null InputStream"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 602
      StackMap locals:
      StackMap stack:
            new org.xml.sax.InputSource
            dup
            aload 1 /* in */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
            astore 2 /* source */
        start local 2 // org.xml.sax.InputSource source
         2: .line 603
            aload 0 /* this */
            aload 2 /* source */
            invokevirtual nu.xom.Builder.build:(Lorg/xml/sax/InputSource;)Lnu/xom/Document;
            areturn
        end local 2 // org.xml.sax.InputSource source
        end local 1 // java.io.InputStream in
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lnu/xom/Builder;
            0    3     1      in  Ljava/io/InputStream;
            2    3     2  source  Lorg/xml/sax/InputSource;
    Exceptions:
      throws nu.xom.ParsingException, nu.xom.ValidityException, java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public nu.xom.Document build(java.io.InputStream, java.lang.String);
    descriptor: (Ljava/io/InputStream;Ljava/lang/String;)Lnu/xom/Document;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // nu.xom.Builder this
        start local 1 // java.io.InputStream in
        start local 2 // java.lang.String baseURI
         0: .line 628
            new org.xml.sax.InputSource
            dup
            aload 1 /* in */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
            astore 3 /* source */
        start local 3 // org.xml.sax.InputSource source
         1: .line 629
            aload 2 /* baseURI */
            ifnull 4
         2: .line 630
            aload 0 /* this */
            aload 2 /* baseURI */
            invokevirtual nu.xom.Builder.canonicalizeURL:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* baseURI */
         3: .line 631
            aload 3 /* source */
            aload 2 /* baseURI */
            invokevirtual org.xml.sax.InputSource.setSystemId:(Ljava/lang/String;)V
         4: .line 633
      StackMap locals: org.xml.sax.InputSource
      StackMap stack:
            aload 0 /* this */
            aload 3 /* source */
            invokevirtual nu.xom.Builder.build:(Lorg/xml/sax/InputSource;)Lnu/xom/Document;
            areturn
        end local 3 // org.xml.sax.InputSource source
        end local 2 // java.lang.String baseURI
        end local 1 // java.io.InputStream in
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lnu/xom/Builder;
            0    5     1       in  Ljava/io/InputStream;
            0    5     2  baseURI  Ljava/lang/String;
            1    5     3   source  Lorg/xml/sax/InputSource;
    Exceptions:
      throws nu.xom.ParsingException, nu.xom.ValidityException, java.io.IOException
    MethodParameters:
         Name  Flags
      in       
      baseURI  

  public nu.xom.Document build(java.io.File);
    descriptor: (Ljava/io/File;)Lnu/xom/Document;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=14, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // java.io.File in
         0: .line 673
            new java.io.FileInputStream
            dup
            aload 1 /* in */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 2 /* fin */
        start local 2 // java.io.InputStream fin
         1: .line 676
            aload 1 /* in */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 3 /* absolute */
        start local 3 // java.lang.String absolute
         2: .line 677
            new java.lang.StringBuffer
            dup
            getstatic nu.xom.Builder.fileURLPrefix:Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 4 /* url */
        start local 4 // java.lang.StringBuffer url
         3: .line 678
            aload 3 /* absolute */
            invokevirtual java.lang.String.length:()I
            istore 5 /* length */
        start local 5 // int length
         4: .line 679
            getstatic java.io.File.separatorChar:C
            istore 6 /* separatorChar */
        start local 6 // char separatorChar
         5: .line 680
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 221
         7: .line 681
      StackMap locals: nu.xom.Builder java.io.File java.io.InputStream java.lang.String java.lang.StringBuffer int int int
      StackMap stack:
            aload 3 /* absolute */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
         8: .line 682
            iload 8 /* c */
            iload 6 /* separatorChar */
            if_icmpne 9
            aload 4 /* url */
            bipush 47
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
            goto 220
         9: .line 684
      StackMap locals: int
      StackMap stack:
            iload 8 /* c */
            tableswitch { // 32 - 126
                   32: 10
                   33: 12
                   34: 14
                   35: 16
                   36: 18
                   37: 20
                   38: 22
                   39: 24
                   40: 26
                   41: 28
                   42: 30
                   43: 32
                   44: 34
                   45: 36
                   46: 38
                   47: 40
                   48: 42
                   49: 44
                   50: 46
                   51: 48
                   52: 50
                   53: 52
                   54: 54
                   55: 56
                   56: 58
                   57: 60
                   58: 62
                   59: 64
                   60: 66
                   61: 68
                   62: 70
                   63: 72
                   64: 74
                   65: 76
                   66: 78
                   67: 80
                   68: 82
                   69: 84
                   70: 86
                   71: 88
                   72: 90
                   73: 92
                   74: 94
                   75: 96
                   76: 98
                   77: 100
                   78: 102
                   79: 104
                   80: 106
                   81: 108
                   82: 110
                   83: 112
                   84: 114
                   85: 116
                   86: 118
                   87: 120
                   88: 122
                   89: 124
                   90: 126
                   91: 128
                   92: 130
                   93: 132
                   94: 134
                   95: 136
                   96: 138
                   97: 140
                   98: 142
                   99: 144
                  100: 146
                  101: 148
                  102: 150
                  103: 152
                  104: 154
                  105: 156
                  106: 158
                  107: 160
                  108: 162
                  109: 164
                  110: 166
                  111: 168
                  112: 170
                  113: 172
                  114: 174
                  115: 176
                  116: 178
                  117: 180
                  118: 182
                  119: 184
                  120: 186
                  121: 188
                  122: 190
                  123: 192
                  124: 194
                  125: 196
                  126: 198
              default: 200
          }
        10: .line 686
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%20"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 687
            goto 220
        12: .line 689
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 690
            goto 220
        14: .line 692
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%22"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 693
            goto 220
        16: .line 695
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%23"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        17: .line 696
            goto 220
        18: .line 698
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 699
            goto 220
        20: .line 701
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%25"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 702
            goto 220
        22: .line 706
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            bipush 38
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        23: .line 707
            goto 220
        24: .line 709
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        25: .line 710
            goto 220
        26: .line 712
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        27: .line 713
            goto 220
        28: .line 715
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        29: .line 716
            goto 220
        30: .line 718
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        31: .line 719
            goto 220
        32: .line 721
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%2B"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        33: .line 722
            goto 220
        34: .line 724
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        35: .line 725
            goto 220
        36: .line 727
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        37: .line 728
            goto 220
        38: .line 730
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        39: .line 731
            goto 220
        40: .line 733
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%2F"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        41: .line 734
            goto 220
        42: .line 736
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        43: .line 737
            goto 220
        44: .line 739
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        45: .line 740
            goto 220
        46: .line 742
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        47: .line 743
            goto 220
        48: .line 745
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        49: .line 746
            goto 220
        50: .line 748
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        51: .line 749
            goto 220
        52: .line 751
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        53: .line 752
            goto 220
        54: .line 754
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        55: .line 755
            goto 220
        56: .line 757
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        57: .line 758
            goto 220
        58: .line 760
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        59: .line 761
            goto 220
        60: .line 763
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        61: .line 764
            goto 220
        62: .line 766
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        63: .line 767
            goto 220
        64: .line 769
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        65: .line 770
            goto 220
        66: .line 772
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%3C"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        67: .line 773
            goto 220
        68: .line 775
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        69: .line 776
            goto 220
        70: .line 778
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%3E"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        71: .line 779
            goto 220
        72: .line 781
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%3F"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        73: .line 782
            goto 220
        74: .line 784
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%40"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        75: .line 785
            goto 220
        76: .line 787
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        77: .line 788
            goto 220
        78: .line 790
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        79: .line 791
            goto 220
        80: .line 793
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        81: .line 794
            goto 220
        82: .line 796
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        83: .line 797
            goto 220
        84: .line 799
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        85: .line 800
            goto 220
        86: .line 802
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        87: .line 803
            goto 220
        88: .line 805
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        89: .line 806
            goto 220
        90: .line 808
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        91: .line 809
            goto 220
        92: .line 811
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        93: .line 812
            goto 220
        94: .line 814
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        95: .line 815
            goto 220
        96: .line 817
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        97: .line 818
            goto 220
        98: .line 820
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        99: .line 821
            goto 220
       100: .line 823
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       101: .line 824
            goto 220
       102: .line 826
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       103: .line 827
            goto 220
       104: .line 829
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       105: .line 830
            goto 220
       106: .line 832
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       107: .line 833
            goto 220
       108: .line 835
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       109: .line 836
            goto 220
       110: .line 838
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       111: .line 839
            goto 220
       112: .line 841
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       113: .line 842
            goto 220
       114: .line 844
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       115: .line 845
            goto 220
       116: .line 847
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       117: .line 848
            goto 220
       118: .line 850
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       119: .line 851
            goto 220
       120: .line 853
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       121: .line 854
            goto 220
       122: .line 856
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       123: .line 857
            goto 220
       124: .line 859
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       125: .line 860
            goto 220
       126: .line 862
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       127: .line 863
            goto 220
       128: .line 865
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%5B"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       129: .line 866
            goto 220
       130: .line 868
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%5C"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       131: .line 869
            goto 220
       132: .line 871
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%5D"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       133: .line 872
            goto 220
       134: .line 874
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%5E"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       135: .line 875
            goto 220
       136: .line 877
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       137: .line 878
            goto 220
       138: .line 880
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%60"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       139: .line 881
            goto 220
       140: .line 883
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       141: .line 884
            goto 220
       142: .line 886
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       143: .line 887
            goto 220
       144: .line 889
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       145: .line 890
            goto 220
       146: .line 892
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       147: .line 893
            goto 220
       148: .line 895
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       149: .line 896
            goto 220
       150: .line 898
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       151: .line 899
            goto 220
       152: .line 901
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       153: .line 902
            goto 220
       154: .line 904
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       155: .line 905
            goto 220
       156: .line 907
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       157: .line 908
            goto 220
       158: .line 910
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       159: .line 911
            goto 220
       160: .line 913
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       161: .line 914
            goto 220
       162: .line 916
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       163: .line 917
            goto 220
       164: .line 919
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       165: .line 920
            goto 220
       166: .line 922
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       167: .line 923
            goto 220
       168: .line 925
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       169: .line 926
            goto 220
       170: .line 928
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       171: .line 929
            goto 220
       172: .line 931
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       173: .line 932
            goto 220
       174: .line 934
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       175: .line 935
            goto 220
       176: .line 937
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       177: .line 938
            goto 220
       178: .line 940
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       179: .line 941
            goto 220
       180: .line 943
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       181: .line 944
            goto 220
       182: .line 946
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       183: .line 947
            goto 220
       184: .line 949
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       185: .line 950
            goto 220
       186: .line 952
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       187: .line 953
            goto 220
       188: .line 955
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       189: .line 956
            goto 220
       190: .line 958
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       191: .line 959
            goto 220
       192: .line 961
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%7B"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       193: .line 962
            goto 220
       194: .line 964
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%7C"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       195: .line 965
            goto 220
       196: .line 967
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            ldc "%7D"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       197: .line 968
            goto 220
       198: .line 970
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       199: .line 971
            goto 220
       200: .line 973
      StackMap locals:
      StackMap stack:
            iload 8 /* c */
            ldc 55296
            if_icmplt 201
            iload 8 /* c */
            ldc 57343
            if_icmple 203
       201: .line 974
      StackMap locals:
      StackMap stack:
            aload 4 /* url */
            iload 8 /* c */
            invokestatic nu.xom.URIUtil.percentEscape:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       202: .line 975
            goto 220
       203: .line 976
      StackMap locals:
      StackMap stack:
            iload 8 /* c */
            ldc 56319
            if_icmpgt 219
       204: .line 979
            iinc 7 /* i */ 1
       205: .line 981
            aload 3 /* absolute */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* low */
        start local 9 // char low
       206: .line 982
            new java.lang.StringBuilder
            dup
            iload 8 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* low */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* character */
        start local 10 // java.lang.String character
       207: .line 983
            aload 10 /* character */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 11 /* data */
        start local 11 // byte[] data
       208: .line 985
            iconst_0
            istore 12 /* j */
        start local 12 // int j
       209: goto 214
       210: .line 986
      StackMap locals: nu.xom.Builder java.io.File java.io.InputStream java.lang.String java.lang.StringBuffer int int int int int java.lang.String byte[] int
      StackMap stack:
            aload 4 /* url */
            bipush 37
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       211: .line 987
            aload 11 /* data */
            iload 12 /* j */
            baload
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            astore 13 /* hex */
        start local 13 // java.lang.String hex
       212: .line 988
            aload 4 /* url */
            aload 13 /* hex */
            aload 13 /* hex */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 13 // java.lang.String hex
       213: .line 985
            iinc 12 /* j */ 1
      StackMap locals:
      StackMap stack:
       214: iload 12 /* j */
            iconst_4
            if_icmplt 210
        end local 12 // int j
        end local 11 // byte[] data
        end local 10 // java.lang.String character
        end local 9 // char low
       215: .line 990
            goto 220
       216: .line 991
      StackMap locals: nu.xom.Builder java.io.File java.io.InputStream java.lang.String java.lang.StringBuffer int int int int
      StackMap stack: java.lang.IndexOutOfBoundsException
            pop
       217: .line 993
            new java.lang.StringBuffer
            dup
            iconst_0
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 4 /* url */
       218: .line 994
            goto 220
       219: .line 1000
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            iconst_0
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 4 /* url */
        end local 8 // char c
       220: .line 680
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
       221: iload 7 /* i */
            iload 5 /* length */
            if_icmplt 7
        end local 7 // int i
       222: .line 1007
            aload 4 /* url */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 7 /* base */
        start local 7 // java.lang.String base
       223: .line 1009
            aload 0 /* this */
            aload 2 /* fin */
            aload 7 /* base */
            invokevirtual nu.xom.Builder.build:(Ljava/io/InputStream;Ljava/lang/String;)Lnu/xom/Document;
            astore 8 /* doc */
        start local 8 // nu.xom.Document doc
       224: .line 1010
            aload 8 /* doc */
            astore 10
       225: .line 1013
            aload 2 /* fin */
            invokevirtual java.io.InputStream.close:()V
       226: .line 1010
            aload 10
            areturn
        end local 8 // nu.xom.Document doc
       227: .line 1012
      StackMap locals: nu.xom.Builder java.io.File java.io.InputStream java.lang.String java.lang.StringBuffer int int java.lang.String
      StackMap stack: java.lang.Throwable
            astore 9
       228: .line 1013
            aload 2 /* fin */
            invokevirtual java.io.InputStream.close:()V
       229: .line 1014
            aload 9
            athrow
        end local 7 // java.lang.String base
        end local 6 // char separatorChar
        end local 5 // int length
        end local 4 // java.lang.StringBuffer url
        end local 3 // java.lang.String absolute
        end local 2 // java.io.InputStream fin
        end local 1 // java.io.File in
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  230     0           this  Lnu/xom/Builder;
            0  230     1             in  Ljava/io/File;
            1  230     2            fin  Ljava/io/InputStream;
            2  230     3       absolute  Ljava/lang/String;
            3  230     4            url  Ljava/lang/StringBuffer;
            4  230     5         length  I
            5  230     6  separatorChar  C
            6  222     7              i  I
            8  220     8              c  C
          206  215     9            low  C
          207  215    10      character  Ljava/lang/String;
          208  215    11           data  [B
          209  215    12              j  I
          212  213    13            hex  Ljava/lang/String;
          223  230     7           base  Ljava/lang/String;
          224  227     8            doc  Lnu/xom/Document;
      Exception table:
        from    to  target  type
         205   215     216  Class java.lang.IndexOutOfBoundsException
         223   225     227  any
    Exceptions:
      throws nu.xom.ParsingException, nu.xom.ValidityException, java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public nu.xom.Document build(java.io.Reader);
    descriptor: (Ljava/io/Reader;)Lnu/xom/Document;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // java.io.Reader in
         0: .line 1037
            aload 1 /* in */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            ldc "Attempted to build from null reader"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 1038
      StackMap locals:
      StackMap stack:
            new org.xml.sax.InputSource
            dup
            aload 1 /* in */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/Reader;)V
            astore 2 /* source */
        start local 2 // org.xml.sax.InputSource source
         2: .line 1039
            aload 0 /* this */
            aload 2 /* source */
            invokevirtual nu.xom.Builder.build:(Lorg/xml/sax/InputSource;)Lnu/xom/Document;
            areturn
        end local 2 // org.xml.sax.InputSource source
        end local 1 // java.io.Reader in
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lnu/xom/Builder;
            0    3     1      in  Ljava/io/Reader;
            2    3     2  source  Lorg/xml/sax/InputSource;
    Exceptions:
      throws nu.xom.ParsingException, nu.xom.ValidityException, java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public nu.xom.Document build(java.io.Reader, java.lang.String);
    descriptor: (Ljava/io/Reader;Ljava/lang/String;)Lnu/xom/Document;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // nu.xom.Builder this
        start local 1 // java.io.Reader in
        start local 2 // java.lang.String baseURI
         0: .line 1066
            new org.xml.sax.InputSource
            dup
            aload 1 /* in */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/Reader;)V
            astore 3 /* source */
        start local 3 // org.xml.sax.InputSource source
         1: .line 1067
            aload 2 /* baseURI */
            ifnull 4
         2: .line 1068
            aload 0 /* this */
            aload 2 /* baseURI */
            invokevirtual nu.xom.Builder.canonicalizeURL:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* baseURI */
         3: .line 1069
            aload 3 /* source */
            aload 2 /* baseURI */
            invokevirtual org.xml.sax.InputSource.setSystemId:(Ljava/lang/String;)V
         4: .line 1071
      StackMap locals: org.xml.sax.InputSource
      StackMap stack:
            aload 0 /* this */
            aload 3 /* source */
            invokevirtual nu.xom.Builder.build:(Lorg/xml/sax/InputSource;)Lnu/xom/Document;
            areturn
        end local 3 // org.xml.sax.InputSource source
        end local 2 // java.lang.String baseURI
        end local 1 // java.io.Reader in
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lnu/xom/Builder;
            0    5     1       in  Ljava/io/Reader;
            0    5     2  baseURI  Ljava/lang/String;
            1    5     3   source  Lorg/xml/sax/InputSource;
    Exceptions:
      throws nu.xom.ParsingException, nu.xom.ValidityException, java.io.IOException
    MethodParameters:
         Name  Flags
      in       
      baseURI  

  public nu.xom.Document build(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lnu/xom/Document;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // nu.xom.Builder this
        start local 1 // java.lang.String document
        start local 2 // java.lang.String baseURI
         0: .line 1096
            new java.io.StringReader
            dup
            aload 1 /* document */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 3 /* reader */
        start local 3 // java.io.Reader reader
         1: .line 1097
            aload 0 /* this */
            aload 3 /* reader */
            aload 2 /* baseURI */
            invokevirtual nu.xom.Builder.build:(Ljava/io/Reader;Ljava/lang/String;)Lnu/xom/Document;
            areturn
        end local 3 // java.io.Reader reader
        end local 2 // java.lang.String baseURI
        end local 1 // java.lang.String document
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lnu/xom/Builder;
            0    2     1  document  Ljava/lang/String;
            0    2     2   baseURI  Ljava/lang/String;
            1    2     3    reader  Ljava/io/Reader;
    Exceptions:
      throws nu.xom.ParsingException, nu.xom.ValidityException, java.io.IOException
    MethodParameters:
          Name  Flags
      document  
      baseURI   

  private java.lang.String canonicalizeURL(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // java.lang.String uri
         0: .line 1110
            new java.net.URL
            dup
            aload 1 /* uri */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 2 /* u */
        start local 2 // java.net.URL u
         1: .line 1111
            aload 2 /* u */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         2: .line 1112
            aload 2 /* u */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            astore 4 /* scheme */
        start local 4 // java.lang.String scheme
         3: .line 1113
            aload 2 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            astore 5 /* authority */
        start local 5 // java.lang.String authority
         4: .line 1114
            aload 2 /* u */
            invokevirtual java.net.URL.getQuery:()Ljava/lang/String;
            astore 6 /* query */
        start local 6 // java.lang.String query
         5: .line 1115
            aload 2 /* u */
            invokevirtual java.net.URL.getPort:()I
            istore 7 /* port */
        start local 7 // int port
         6: .line 1117
            aload 3 /* path */
            ifnull 7
            aload 3 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 8
         7: .line 1120
      StackMap locals: nu.xom.Builder java.lang.String java.net.URL java.lang.String java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            ldc "/"
            astore 3 /* path */
         8: .line 1125
      StackMap locals:
      StackMap stack:
            aload 3 /* path */
            invokestatic nu.xom.URIUtil.removeDotSegments:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
         9: .line 1126
            new java.lang.StringBuffer
            dup
            aload 1 /* uri */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 8 /* canonicalForm */
        start local 8 // java.lang.StringBuffer canonicalForm
        10: .line 1127
            aload 8 /* canonicalForm */
            aload 4 /* scheme */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 1128
            aload 8 /* canonicalForm */
            ldc "://"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 1129
            aload 5 /* authority */
            ifnull 13
            aload 8 /* canonicalForm */
            aload 5 /* authority */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 1130
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            iload 7 /* port */
            iflt 14
            aload 8 /* canonicalForm */
            new java.lang.StringBuilder
            dup
            ldc ":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 1131
      StackMap locals:
      StackMap stack:
            aload 8 /* canonicalForm */
            aload 3 /* path */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 1132
            aload 6 /* query */
            ifnull 16
            aload 8 /* canonicalForm */
            new java.lang.StringBuilder
            dup
            ldc "?"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* query */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 1133
      StackMap locals:
      StackMap stack:
            aload 8 /* canonicalForm */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
        17: areturn
        end local 8 // java.lang.StringBuffer canonicalForm
        end local 7 // int port
        end local 6 // java.lang.String query
        end local 5 // java.lang.String authority
        end local 4 // java.lang.String scheme
        end local 3 // java.lang.String path
        end local 2 // java.net.URL u
        18: .line 1135
      StackMap locals: nu.xom.Builder java.lang.String
      StackMap stack: java.net.MalformedURLException
            pop
        19: .line 1136
            aload 1 /* uri */
            areturn
        end local 1 // java.lang.String uri
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lnu/xom/Builder;
            0   20     1            uri  Ljava/lang/String;
            1   18     2              u  Ljava/net/URL;
            2   18     3           path  Ljava/lang/String;
            3   18     4         scheme  Ljava/lang/String;
            4   18     5      authority  Ljava/lang/String;
            5   18     6          query  Ljava/lang/String;
            6   18     7           port  I
           10   18     8  canonicalForm  Ljava/lang/StringBuffer;
      Exception table:
        from    to  target  type
           0    17      18  Class java.net.MalformedURLException
    MethodParameters:
      Name  Flags
      uri   

  private nu.xom.Document build(org.xml.sax.InputSource);
    descriptor: (Lorg/xml/sax/InputSource;)Lnu/xom/Document;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // nu.xom.Builder this
        start local 1 // org.xml.sax.InputSource in
         0: .line 1160
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
            invokeinterface org.xml.sax.XMLReader.getContentHandler:()Lorg/xml/sax/ContentHandler;
            checkcast nu.xom.XOMHandler
            astore 2 /* handler */
        start local 2 // nu.xom.XOMHandler handler
         1: .line 1161
            aconst_null
            astore 3 /* result */
        start local 3 // nu.xom.Document result
         2: .line 1163
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
            aload 1 /* in */
            invokeinterface org.xml.sax.XMLReader.parse:(Lorg/xml/sax/InputSource;)V
         3: .line 1164
            aload 2 /* handler */
            invokevirtual nu.xom.XOMHandler.getDocument:()Lnu/xom/Document;
            astore 3 /* result */
         4: .line 1165
            goto 42
         5: .line 1166
      StackMap locals: nu.xom.Builder org.xml.sax.InputSource nu.xom.XOMHandler nu.xom.Document
      StackMap stack: org.xml.sax.SAXParseException
            astore 4 /* ex */
        start local 4 // org.xml.sax.SAXParseException ex
         6: .line 1167
            new nu.xom.ParsingException
            dup
         7: .line 1168
            aload 4 /* ex */
            invokevirtual org.xml.sax.SAXParseException.getMessage:()Ljava/lang/String;
         8: .line 1169
            aload 4 /* ex */
            invokevirtual org.xml.sax.SAXParseException.getSystemId:()Ljava/lang/String;
         9: .line 1170
            aload 4 /* ex */
            invokevirtual org.xml.sax.SAXParseException.getLineNumber:()I
        10: .line 1171
            aload 4 /* ex */
            invokevirtual org.xml.sax.SAXParseException.getColumnNumber:()I
        11: .line 1172
            aload 4 /* ex */
        12: .line 1167
            invokespecial nu.xom.ParsingException.<init>:(Ljava/lang/String;Ljava/lang/String;IILjava/lang/Throwable;)V
            astore 5 /* pex */
        start local 5 // nu.xom.ParsingException pex
        13: .line 1173
            aload 5 /* pex */
            athrow
        end local 5 // nu.xom.ParsingException pex
        end local 4 // org.xml.sax.SAXParseException ex
        14: .line 1175
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            astore 4 /* ex */
        start local 4 // org.xml.sax.SAXException ex
        15: .line 1177
            new nu.xom.ParsingException
            dup
            aload 4 /* ex */
            invokevirtual org.xml.sax.SAXException.getMessage:()Ljava/lang/String;
            aload 1 /* in */
            invokevirtual org.xml.sax.InputSource.getSystemId:()Ljava/lang/String;
            aload 4 /* ex */
            invokespecial nu.xom.ParsingException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        16: .line 1176
            astore 5 /* pex */
        start local 5 // nu.xom.ParsingException pex
        17: .line 1178
            aload 5 /* pex */
            athrow
        end local 5 // nu.xom.ParsingException pex
        end local 4 // org.xml.sax.SAXException ex
        18: .line 1180
      StackMap locals:
      StackMap stack: nu.xom.XMLException
            astore 4 /* ex */
        start local 4 // nu.xom.XMLException ex
        19: .line 1181
            new nu.xom.ParsingException
            dup
            aload 4 /* ex */
            invokevirtual nu.xom.XMLException.getMessage:()Ljava/lang/String;
            aload 4 /* ex */
            invokespecial nu.xom.ParsingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // nu.xom.XMLException ex
        20: .line 1183
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 4 /* ex */
        start local 4 // java.lang.RuntimeException ex
        21: .line 1186
            new nu.xom.ParsingException
            dup
            aload 4 /* ex */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            aload 1 /* in */
            invokevirtual org.xml.sax.InputSource.getSystemId:()Ljava/lang/String;
            aload 4 /* ex */
            invokespecial nu.xom.ParsingException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        22: .line 1185
            astore 5 /* pex */
        start local 5 // nu.xom.ParsingException pex
        23: .line 1187
            aload 5 /* pex */
            athrow
        end local 5 // nu.xom.ParsingException pex
        end local 4 // java.lang.RuntimeException ex
        24: .line 1189
      StackMap locals:
      StackMap stack: java.io.UTFDataFormatException
            astore 4 /* ex */
        start local 4 // java.io.UTFDataFormatException ex
        25: .line 1193
            new nu.xom.ParsingException
            dup
            aload 4 /* ex */
            invokevirtual java.io.UTFDataFormatException.getMessage:()Ljava/lang/String;
            aload 1 /* in */
            invokevirtual org.xml.sax.InputSource.getSystemId:()Ljava/lang/String;
            aload 4 /* ex */
            invokespecial nu.xom.ParsingException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        26: .line 1192
            astore 5 /* pex */
        start local 5 // nu.xom.ParsingException pex
        27: .line 1194
            aload 5 /* pex */
            athrow
        end local 5 // nu.xom.ParsingException pex
        end local 4 // java.io.UTFDataFormatException ex
        28: .line 1196
      StackMap locals:
      StackMap stack: java.io.CharConversionException
            astore 4 /* ex */
        start local 4 // java.io.CharConversionException ex
        29: .line 1200
            new nu.xom.ParsingException
            dup
            aload 4 /* ex */
            invokevirtual java.io.CharConversionException.getMessage:()Ljava/lang/String;
            aload 1 /* in */
            invokevirtual org.xml.sax.InputSource.getSystemId:()Ljava/lang/String;
            aload 4 /* ex */
            invokespecial nu.xom.ParsingException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        30: .line 1199
            astore 5 /* pex */
        start local 5 // nu.xom.ParsingException pex
        31: .line 1201
            aload 5 /* pex */
            athrow
        end local 5 // nu.xom.ParsingException pex
        end local 4 // java.io.CharConversionException ex
        32: .line 1203
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* ex */
        start local 4 // java.io.IOException ex
        33: .line 1207
            aload 4 /* ex */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        34: .line 1208
            ldc "org.apache.xerces.util.URI$MalformedURIException"
        35: .line 1207
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        36: .line 1208
            ifeq 38
        37: .line 1209
            new nu.xom.ParsingException
            dup
            aload 4 /* ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 1 /* in */
            invokevirtual org.xml.sax.InputSource.getSystemId:()Ljava/lang/String;
            aload 4 /* ex */
            invokespecial nu.xom.ParsingException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        38: .line 1212
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 4 /* ex */
            athrow
        end local 4 // java.io.IOException ex
        39: .line 1215
      StackMap locals: nu.xom.Builder org.xml.sax.InputSource nu.xom.XOMHandler nu.xom.Document
      StackMap stack: java.lang.Throwable
            astore 6
        40: .line 1216
            aload 2 /* handler */
            invokevirtual nu.xom.XOMHandler.freeMemory:()V
        41: .line 1217
            aload 6
            athrow
        42: .line 1216
      StackMap locals:
      StackMap stack:
            aload 2 /* handler */
            invokevirtual nu.xom.XOMHandler.freeMemory:()V
        43: .line 1219
            aload 3 /* result */
            ifnonnull 49
        44: .line 1220
            new nu.xom.ParsingException
            dup
        45: .line 1221
            ldc "Parser did not build document"
        46: .line 1222
            aload 1 /* in */
            invokevirtual org.xml.sax.InputSource.getSystemId:()Ljava/lang/String;
            iconst_m1
            iconst_m1
        47: .line 1220
            invokespecial nu.xom.ParsingException.<init>:(Ljava/lang/String;Ljava/lang/String;II)V
            astore 4 /* ex */
        start local 4 // nu.xom.ParsingException ex
        48: .line 1224
            aload 4 /* ex */
            athrow
        end local 4 // nu.xom.ParsingException ex
        49: .line 1227
      StackMap locals:
      StackMap stack:
            ldc ""
            aload 3 /* result */
            invokevirtual nu.xom.Document.getBaseURI:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 51
        50: .line 1228
            aload 3 /* result */
            aload 1 /* in */
            invokevirtual org.xml.sax.InputSource.getSystemId:()Ljava/lang/String;
            invokevirtual nu.xom.Document.setBaseURI:(Ljava/lang/String;)V
        51: .line 1231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Builder.parser:Lorg/xml/sax/XMLReader;
            invokeinterface org.xml.sax.XMLReader.getErrorHandler:()Lorg/xml/sax/ErrorHandler;
            astore 4 /* errorHandler */
        start local 4 // org.xml.sax.ErrorHandler errorHandler
        52: .line 1232
            aload 4 /* errorHandler */
            instanceof nu.xom.Builder$ValidityRequired
            ifeq 60
        53: .line 1234
            aload 4 /* errorHandler */
            checkcast nu.xom.Builder$ValidityRequired
        54: .line 1233
            astore 5 /* validityHandler */
        start local 5 // nu.xom.Builder$ValidityRequired validityHandler
        55: .line 1235
            aload 5 /* validityHandler */
            invokevirtual nu.xom.Builder$ValidityRequired.isValid:()Z
            ifne 60
        56: .line 1236
            aload 5 /* validityHandler */
            getfield nu.xom.Builder$ValidityRequired.vexception:Lnu/xom/ValidityException;
            astore 6 /* vex */
        start local 6 // nu.xom.ValidityException vex
        57: .line 1237
            aload 6 /* vex */
            aload 3 /* result */
            invokevirtual nu.xom.ValidityException.setDocument:(Lnu/xom/Document;)V
        58: .line 1238
            aload 5 /* validityHandler */
            invokevirtual nu.xom.Builder$ValidityRequired.reset:()V
        59: .line 1239
            aload 6 /* vex */
            athrow
        end local 6 // nu.xom.ValidityException vex
        end local 5 // nu.xom.Builder$ValidityRequired validityHandler
        60: .line 1242
      StackMap locals: org.xml.sax.ErrorHandler
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 4 // org.xml.sax.ErrorHandler errorHandler
        end local 3 // nu.xom.Document result
        end local 2 // nu.xom.XOMHandler handler
        end local 1 // org.xml.sax.InputSource in
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   61     0             this  Lnu/xom/Builder;
            0   61     1               in  Lorg/xml/sax/InputSource;
            1   61     2          handler  Lnu/xom/XOMHandler;
            2   61     3           result  Lnu/xom/Document;
            6   14     4               ex  Lorg/xml/sax/SAXParseException;
           13   14     5              pex  Lnu/xom/ParsingException;
           15   18     4               ex  Lorg/xml/sax/SAXException;
           17   18     5              pex  Lnu/xom/ParsingException;
           19   20     4               ex  Lnu/xom/XMLException;
           21   24     4               ex  Ljava/lang/RuntimeException;
           23   24     5              pex  Lnu/xom/ParsingException;
           25   28     4               ex  Ljava/io/UTFDataFormatException;
           27   28     5              pex  Lnu/xom/ParsingException;
           29   32     4               ex  Ljava/io/CharConversionException;
           31   32     5              pex  Lnu/xom/ParsingException;
           33   39     4               ex  Ljava/io/IOException;
           48   49     4               ex  Lnu/xom/ParsingException;
           52   61     4     errorHandler  Lorg/xml/sax/ErrorHandler;
           55   60     5  validityHandler  Lnu/xom/Builder$ValidityRequired;
           57   60     6              vex  Lnu/xom/ValidityException;
      Exception table:
        from    to  target  type
           2     4       5  Class org.xml.sax.SAXParseException
           2     4      14  Class org.xml.sax.SAXException
           2     4      18  Class nu.xom.XMLException
           2     4      20  Class java.lang.RuntimeException
           2     4      24  Class java.io.UTFDataFormatException
           2     4      28  Class java.io.CharConversionException
           2     4      32  Class java.io.IOException
           2    39      39  any
    Exceptions:
      throws nu.xom.ParsingException, nu.xom.ValidityException, java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public nu.xom.NodeFactory getNodeFactory();
    descriptor: ()Lnu/xom/NodeFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Builder this
         0: .line 1321
            aload 0 /* this */
            getfield nu.xom.Builder.factory:Lnu/xom/NodeFactory;
            areturn
        end local 0 // nu.xom.Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/Builder;
}
SourceFile: "Builder.java"
NestMembers:
  nu.xom.Builder$NamespaceWellformednessRequired  nu.xom.Builder$ValidityRequired
InnerClasses:
  private NamespaceWellformednessRequired = nu.xom.Builder$NamespaceWellformednessRequired of nu.xom.Builder
  private ValidityRequired = nu.xom.Builder$ValidityRequired of nu.xom.Builder