public class nu.xom.Serializer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: nu.xom.Serializer
  super_class: java.lang.Object
{
  private nu.xom.TextWriter escaper;
    descriptor: Lnu/xom/TextWriter;
    flags: (0x0002) ACC_PRIVATE

  private boolean preserveBaseURI;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.xml.sax.helpers.NamespaceSupport namespaces;
    descriptor: Lorg/xml/sax/helpers/NamespaceSupport;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // java.io.OutputStream out
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            iconst_0
            putfield nu.xom.Serializer.preserveBaseURI:Z
         2: .line 57
            aload 0 /* this */
            new org.xml.sax.helpers.NamespaceSupport
            dup
            invokespecial org.xml.sax.helpers.NamespaceSupport.<init>:()V
            putfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
         3: .line 72
            aload 0 /* this */
            aload 1 /* out */
            ldc "UTF-8"
            invokevirtual nu.xom.Serializer.setOutputStream:(Ljava/io/OutputStream;Ljava/lang/String;)V
         4: .line 73
            goto 9
         5: .line 74
      StackMap locals: nu.xom.Serializer java.io.OutputStream
      StackMap stack: java.io.UnsupportedEncodingException
            pop
         6: .line 75
            new java.lang.RuntimeException
            dup
         7: .line 76
            ldc "The VM is broken. It does not understand UTF-8."
         8: .line 75
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 79
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream out
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lnu/xom/Serializer;
            0   10     1   out  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      out   

  public void <init>(java.io.OutputStream, java.lang.String);
    descriptor: (Ljava/io/OutputStream;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // nu.xom.Serializer this
        start local 1 // java.io.OutputStream out
        start local 2 // java.lang.String encoding
         0: .line 142
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            iconst_0
            putfield nu.xom.Serializer.preserveBaseURI:Z
         2: .line 57
            aload 0 /* this */
            new org.xml.sax.helpers.NamespaceSupport
            dup
            invokespecial org.xml.sax.helpers.NamespaceSupport.<init>:()V
            putfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
         3: .line 145
            aload 2 /* encoding */
            ifnonnull 5
         4: .line 146
            new java.lang.NullPointerException
            dup
            ldc "Null encoding"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 148
      StackMap locals: nu.xom.Serializer java.io.OutputStream java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            aload 2 /* encoding */
            invokevirtual nu.xom.Serializer.setOutputStream:(Ljava/io/OutputStream;Ljava/lang/String;)V
         6: .line 150
            return
        end local 2 // java.lang.String encoding
        end local 1 // java.io.OutputStream out
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lnu/xom/Serializer;
            0    7     1       out  Ljava/io/OutputStream;
            0    7     2  encoding  Ljava/lang/String;
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
          Name  Flags
      out       
      encoding  

  public void setOutputStream(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // java.io.OutputStream out
         0: .line 171
            aload 0 /* this */
            invokevirtual nu.xom.Serializer.flush:()V
         1: .line 172
            aload 0 /* this */
            invokevirtual nu.xom.Serializer.getMaxLength:()I
            istore 2 /* maxLength */
        start local 2 // int maxLength
         2: .line 173
            aload 0 /* this */
            invokevirtual nu.xom.Serializer.getIndent:()I
            istore 3 /* indent */
        start local 3 // int indent
         3: .line 174
            aload 0 /* this */
            invokevirtual nu.xom.Serializer.getLineSeparator:()Ljava/lang/String;
            astore 4 /* lineSeparator */
        start local 4 // java.lang.String lineSeparator
         4: .line 175
            aload 0 /* this */
            invokevirtual nu.xom.Serializer.getUnicodeNormalizationFormC:()Z
            istore 5 /* nfc */
        start local 5 // boolean nfc
         5: .line 176
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getEncoding:()Ljava/lang/String;
            astore 6 /* encoding */
        start local 6 // java.lang.String encoding
         6: .line 177
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            getfield nu.xom.TextWriter.lineSeparatorSet:Z
            istore 7 /* lineSeparatorSet */
        start local 7 // boolean lineSeparatorSet
         7: .line 178
            aload 0 /* this */
            aload 1 /* out */
            aload 6 /* encoding */
            invokevirtual nu.xom.Serializer.setOutputStream:(Ljava/io/OutputStream;Ljava/lang/String;)V
         8: .line 179
            aload 0 /* this */
            iload 3 /* indent */
            invokevirtual nu.xom.Serializer.setIndent:(I)V
         9: .line 180
            aload 0 /* this */
            iload 2 /* maxLength */
            invokevirtual nu.xom.Serializer.setMaxLength:(I)V
        10: .line 181
            aload 0 /* this */
            iload 5 /* nfc */
            invokevirtual nu.xom.Serializer.setUnicodeNormalizationFormC:(Z)V
        11: .line 182
            iload 7 /* lineSeparatorSet */
            ifeq 12
            aload 0 /* this */
            aload 4 /* lineSeparator */
            invokevirtual nu.xom.Serializer.setLineSeparator:(Ljava/lang/String;)V
        12: .line 184
      StackMap locals: nu.xom.Serializer java.io.OutputStream int int java.lang.String int java.lang.String int
      StackMap stack:
            return
        end local 7 // boolean lineSeparatorSet
        end local 6 // java.lang.String encoding
        end local 5 // boolean nfc
        end local 4 // java.lang.String lineSeparator
        end local 3 // int indent
        end local 2 // int maxLength
        end local 1 // java.io.OutputStream out
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lnu/xom/Serializer;
            0   13     1               out  Ljava/io/OutputStream;
            2   13     2         maxLength  I
            3   13     3            indent  I
            4   13     4     lineSeparator  Ljava/lang/String;
            5   13     5               nfc  Z
            6   13     6          encoding  Ljava/lang/String;
            7   13     7  lineSeparatorSet  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  private void setOutputStream(java.io.OutputStream, java.lang.String);
    descriptor: (Ljava/io/OutputStream;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // nu.xom.Serializer this
        start local 1 // java.io.OutputStream out
        start local 2 // java.lang.String encoding
         0: .line 190
            aload 1 /* out */
            ifnonnull 2
         1: .line 191
            new java.lang.NullPointerException
            dup
            ldc "Null OutputStream"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* encoding */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 4 /* encodingUpperCase */
        start local 4 // java.lang.String encodingUpperCase
         3: .line 195
            aload 4 /* encodingUpperCase */
            ldc "UTF-8"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 196
            new java.io.OutputStreamWriter
            dup
            aload 1 /* out */
            ldc "UTF-8"
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 3 /* writer */
        start local 3 // java.io.Writer writer
         5: .line 197
            goto 24
        end local 3 // java.io.Writer writer
         6: .line 198
      StackMap locals: nu.xom.Serializer java.io.OutputStream java.lang.String top java.lang.String
      StackMap stack:
            aload 4 /* encodingUpperCase */
            ldc "UTF-16"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 199
            aload 4 /* encodingUpperCase */
            ldc "ISO-10646-UCS-2"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 201
      StackMap locals:
      StackMap stack:
            new java.io.OutputStreamWriter
            dup
            aload 1 /* out */
            ldc "UnicodeBig"
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 3 /* writer */
        start local 3 // java.io.Writer writer
         9: .line 202
            goto 24
        end local 3 // java.io.Writer writer
        10: .line 205
      StackMap locals:
      StackMap stack:
            aload 4 /* encodingUpperCase */
            ldc "IBM037"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        11: .line 206
            aload 4 /* encodingUpperCase */
            ldc "CP037"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        12: .line 207
            aload 4 /* encodingUpperCase */
            ldc "EBCDIC-CP-US"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        13: .line 208
            aload 4 /* encodingUpperCase */
            ldc "EBCDIC-CP-CA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        14: .line 209
            aload 4 /* encodingUpperCase */
            ldc "EBCDIC-CP-WA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        15: .line 210
            aload 4 /* encodingUpperCase */
            ldc "EBCDIC-CP-NL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 211
            aload 4 /* encodingUpperCase */
            ldc "CSIBM037"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 212
      StackMap locals:
      StackMap stack:
            new nu.xom.EBCDICWriter
            dup
            aload 1 /* out */
            invokespecial nu.xom.EBCDICWriter.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* writer */
        start local 3 // java.io.Writer writer
        18: .line 213
            goto 24
        end local 3 // java.io.Writer writer
        19: .line 214
      StackMap locals:
      StackMap stack:
            aload 4 /* encodingUpperCase */
            ldc "ISO-8859-11"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
        20: .line 215
            aload 4 /* encodingUpperCase */
            ldc "TIS-620"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 218
      StackMap locals:
      StackMap stack:
            new java.io.OutputStreamWriter
            dup
            aload 1 /* out */
            ldc "TIS620"
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 3 /* writer */
        start local 3 // java.io.Writer writer
        22: .line 219
            goto 24
        end local 3 // java.io.Writer writer
        23: .line 220
      StackMap locals:
      StackMap stack:
            new java.io.OutputStreamWriter
            dup
            aload 1 /* out */
            aload 2 /* encoding */
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 3 /* writer */
        start local 3 // java.io.Writer writer
        24: .line 222
      StackMap locals: nu.xom.Serializer java.io.OutputStream java.lang.String java.io.Writer java.lang.String
      StackMap stack:
            new nu.xom.UnsynchronizedBufferedWriter
            dup
            aload 3 /* writer */
            invokespecial nu.xom.UnsynchronizedBufferedWriter.<init>:(Ljava/io/Writer;)V
            astore 3 /* writer */
        25: .line 223
            aload 0 /* this */
            aload 3 /* writer */
            aload 2 /* encoding */
            invokestatic nu.xom.TextWriterFactory.getTextWriter:(Ljava/io/Writer;Ljava/lang/String;)Lnu/xom/TextWriter;
            putfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
        26: .line 225
            return
        end local 4 // java.lang.String encodingUpperCase
        end local 3 // java.io.Writer writer
        end local 2 // java.lang.String encoding
        end local 1 // java.io.OutputStream out
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Lnu/xom/Serializer;
            0   27     1                out  Ljava/io/OutputStream;
            0   27     2           encoding  Ljava/lang/String;
            5    6     3             writer  Ljava/io/Writer;
            9   10     3             writer  Ljava/io/Writer;
           18   19     3             writer  Ljava/io/Writer;
           22   23     3             writer  Ljava/io/Writer;
           24   27     3             writer  Ljava/io/Writer;
            3   27     4  encodingUpperCase  Ljava/lang/String;
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
          Name  Flags
      out       
      encoding  

  public void write(nu.xom.Document);
    descriptor: (Lnu/xom/Document;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Document doc
         0: .line 245
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.reset:()V
         1: .line 246
            aload 0 /* this */
            getfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
            invokevirtual org.xml.sax.helpers.NamespaceSupport.reset:()V
         2: .line 247
            aload 0 /* this */
            getfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
            ldc ""
            ldc ""
            invokevirtual org.xml.sax.helpers.NamespaceSupport.declarePrefix:(Ljava/lang/String;Ljava/lang/String;)Z
            pop
         3: .line 250
            aload 0 /* this */
            invokevirtual nu.xom.Serializer.writeXMLDeclaration:()V
         4: .line 251
            aload 1 /* doc */
            invokevirtual nu.xom.Document.getChildCount:()I
            istore 2 /* childCount */
        start local 2 // int childCount
         5: .line 252
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 10
         7: .line 253
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* doc */
            iload 3 /* i */
            invokevirtual nu.xom.Document.getChild:(I)Lnu/xom/Node;
            invokevirtual nu.xom.Serializer.writeChild:(Lnu/xom/Node;)V
         8: .line 258
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.breakLine:()V
         9: .line 252
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 2 /* childCount */
            if_icmplt 7
        end local 3 // int i
        11: .line 260
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.flush:()V
        12: .line 262
            return
        end local 2 // int childCount
        end local 1 // nu.xom.Document doc
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lnu/xom/Serializer;
            0   13     1         doc  Lnu/xom/Document;
            5   13     2  childCount  I
            6   11     3           i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      doc   

  protected void writeXMLDeclaration();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 276
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "<?xml version=\"1.0\" encoding=\""
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         1: .line 277
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getEncoding:()Ljava/lang/String;
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         2: .line 278
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "\"?>"
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         3: .line 279
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.breakLine:()V
         4: .line 281
            return
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lnu/xom/Serializer;
    Exceptions:
      throws java.io.IOException

  protected void write(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Element element
         0: .line 319
            iconst_0
            istore 2 /* hasRealChildren */
        start local 2 // boolean hasRealChildren
         1: .line 320
            aload 1 /* element */
            invokevirtual nu.xom.Element.getChildCount:()I
            istore 3 /* childCount */
        start local 3 // int childCount
         2: .line 321
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 11
         4: .line 322
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* element */
            iload 4 /* i */
            invokevirtual nu.xom.Element.getChild:(I)Lnu/xom/Node;
            astore 5 /* child */
        start local 5 // nu.xom.Node child
         5: .line 323
            aload 5 /* child */
            invokevirtual nu.xom.Node.isText:()Z
            ifeq 8
         6: .line 324
            aload 5 /* child */
            checkcast nu.xom.Text
            astore 6 /* t */
        start local 6 // nu.xom.Text t
         7: .line 325
            aload 6 /* t */
            invokevirtual nu.xom.Text.isEmpty:()Z
            ifeq 8
            goto 10
        end local 6 // nu.xom.Text t
         8: .line 327
      StackMap locals: nu.xom.Node
      StackMap stack:
            iconst_1
            istore 2 /* hasRealChildren */
         9: .line 328
            goto 12
        end local 5 // nu.xom.Node child
        10: .line 321
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* childCount */
            if_icmplt 4
        end local 4 // int i
        12: .line 331
      StackMap locals:
      StackMap stack:
            iload 2 /* hasRealChildren */
            ifeq 34
        13: .line 332
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.isPreserveSpace:()Z
            istore 4 /* wasPreservingWhiteSpace */
        start local 4 // boolean wasPreservingWhiteSpace
        14: .line 333
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual nu.xom.Serializer.writeStartTag:(Lnu/xom/Element;)V
        15: .line 336
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 30
        17: .line 337
      StackMap locals: int int
      StackMap stack:
            aload 1 /* element */
            iload 5 /* i */
            invokevirtual nu.xom.Element.getChild:(I)Lnu/xom/Node;
            astore 6 /* child */
        start local 6 // nu.xom.Node child
        18: .line 341
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getNFC:()Z
            ifeq 28
            aload 6 /* child */
            invokevirtual nu.xom.Node.isText:()Z
            ifeq 28
        19: .line 342
            aload 6 /* child */
            checkcast nu.xom.Text
            astore 7 /* t */
        start local 7 // nu.xom.Text t
        20: .line 343
            goto 25
        21: .line 344
      StackMap locals: nu.xom.Node nu.xom.Text
      StackMap stack:
            aload 1 /* element */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual nu.xom.Element.getChild:(I)Lnu/xom/Node;
            astore 8 /* next */
        start local 8 // nu.xom.Node next
        22: .line 345
            aload 8 /* next */
            invokevirtual nu.xom.Node.isText:()Z
            ifeq 26
        23: .line 346
            new nu.xom.Text
            dup
            new java.lang.StringBuilder
            dup
            aload 7 /* t */
            invokevirtual nu.xom.Text.getValue:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* next */
            invokevirtual nu.xom.Node.getValue:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial nu.xom.Text.<init>:(Ljava/lang/String;)V
            astore 7 /* t */
        24: .line 347
            iinc 5 /* i */ 1
        end local 8 // nu.xom.Node next
        25: .line 343
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 3 /* childCount */
            iconst_1
            isub
            if_icmplt 21
        26: .line 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* t */
            invokevirtual nu.xom.Serializer.writeChild:(Lnu/xom/Node;)V
        end local 7 // nu.xom.Text t
        27: .line 352
            goto 29
        28: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* child */
            invokevirtual nu.xom.Serializer.writeChild:(Lnu/xom/Node;)V
        end local 6 // nu.xom.Node child
        29: .line 336
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            iload 3 /* childCount */
            if_icmplt 17
        end local 5 // int i
        31: .line 357
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual nu.xom.Serializer.writeEndTag:(Lnu/xom/Element;)V
        32: .line 360
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            iload 4 /* wasPreservingWhiteSpace */
            invokevirtual nu.xom.TextWriter.setPreserveSpace:(Z)V
        end local 4 // boolean wasPreservingWhiteSpace
        33: .line 361
            goto 35
        34: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual nu.xom.Serializer.writeEmptyElementTag:(Lnu/xom/Element;)V
        35: .line 366
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int childCount
        end local 2 // boolean hasRealChildren
        end local 1 // nu.xom.Element element
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   36     0                     this  Lnu/xom/Serializer;
            0   36     1                  element  Lnu/xom/Element;
            1   36     2          hasRealChildren  Z
            2   36     3               childCount  I
            3   12     4                        i  I
            5   10     5                    child  Lnu/xom/Node;
            7    8     6                        t  Lnu/xom/Text;
           14   33     4  wasPreservingWhiteSpace  Z
           16   31     5                        i  I
           18   29     6                    child  Lnu/xom/Node;
           20   27     7                        t  Lnu/xom/Text;
           22   25     8                     next  Lnu/xom/Node;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      element  

  private boolean hasNonTextChildren(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Element element
         0: .line 371
            aload 1 /* element */
            invokevirtual nu.xom.Element.getChildCount:()I
            istore 2 /* childCount */
        start local 2 // int childCount
         1: .line 372
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 373
      StackMap locals: int int
      StackMap stack:
            aload 1 /* element */
            iload 3 /* i */
            invokevirtual nu.xom.Element.getChild:(I)Lnu/xom/Node;
            invokevirtual nu.xom.Node.isText:()Z
            ifne 4
            iconst_1
            ireturn
         4: .line 372
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* childCount */
            if_icmplt 3
        end local 3 // int i
         6: .line 375
            iconst_0
            ireturn
        end local 2 // int childCount
        end local 1 // nu.xom.Element element
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lnu/xom/Serializer;
            0    7     1     element  Lnu/xom/Element;
            1    7     2  childCount  I
            2    6     3           i  I
    MethodParameters:
         Name  Flags
      element  

  protected void writeEndTag(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Element element
         0: .line 396
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.decrementIndent:()V
         1: .line 397
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getIndent:()I
            ifle 4
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.isPreserveSpace:()Z
            ifne 4
         2: .line 398
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual nu.xom.Serializer.hasNonTextChildren:(Lnu/xom/Element;)Z
            ifeq 4
         3: .line 399
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.breakLine:()V
         4: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 60
            invokevirtual nu.xom.TextWriter.write:(C)V
         5: .line 403
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 47
            invokevirtual nu.xom.TextWriter.write:(C)V
         6: .line 404
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* element */
            invokevirtual nu.xom.Element.getQualifiedName:()Ljava/lang/String;
            invokevirtual nu.xom.TextWriter.writeName:(Ljava/lang/String;)V
         7: .line 405
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 62
            invokevirtual nu.xom.TextWriter.write:(C)V
         8: .line 406
            aload 0 /* this */
            getfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
            invokevirtual org.xml.sax.helpers.NamespaceSupport.popContext:()V
         9: .line 408
            return
        end local 1 // nu.xom.Element element
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lnu/xom/Serializer;
            0   10     1  element  Lnu/xom/Element;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      element  

  protected void writeStartTag(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Element element
         0: .line 435
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual nu.xom.Serializer.writeTagBeginning:(Lnu/xom/Element;)V
         1: .line 436
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 62
            invokevirtual nu.xom.TextWriter.write:(C)V
         2: .line 437
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.incrementIndent:()V
         3: .line 438
            aload 1 /* element */
         4: .line 439
            ldc "space"
            ldc "http://www.w3.org/XML/1998/namespace"
         5: .line 438
            invokevirtual nu.xom.Element.getAttributeValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* xmlSpaceValue */
        start local 2 // java.lang.String xmlSpaceValue
         6: .line 440
            aload 2 /* xmlSpaceValue */
            ifnull 12
         7: .line 441
            ldc "preserve"
            aload 2 /* xmlSpaceValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 442
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            iconst_1
            invokevirtual nu.xom.TextWriter.setPreserveSpace:(Z)V
         9: .line 443
            goto 12
        10: .line 444
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "default"
            aload 2 /* xmlSpaceValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 445
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            iconst_0
            invokevirtual nu.xom.TextWriter.setPreserveSpace:(Z)V
        12: .line 449
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String xmlSpaceValue
        end local 1 // nu.xom.Element element
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lnu/xom/Serializer;
            0   13     1        element  Lnu/xom/Element;
            6   13     2  xmlSpaceValue  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      element  

  protected void writeEmptyElementTag(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Element element
         0: .line 483
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual nu.xom.Serializer.writeTagBeginning:(Lnu/xom/Element;)V
         1: .line 484
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 47
            invokevirtual nu.xom.TextWriter.write:(C)V
         2: .line 485
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 62
            invokevirtual nu.xom.TextWriter.write:(C)V
         3: .line 486
            aload 0 /* this */
            getfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
            invokevirtual org.xml.sax.helpers.NamespaceSupport.popContext:()V
         4: .line 487
            return
        end local 1 // nu.xom.Element element
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lnu/xom/Serializer;
            0    5     1  element  Lnu/xom/Element;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      element  

  private void writeTagBeginning(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Element element
         0: .line 495
            aload 0 /* this */
            getfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
            invokevirtual org.xml.sax.helpers.NamespaceSupport.pushContext:()V
         1: .line 497
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.isIndenting:()Z
            ifeq 5
         2: .line 498
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.isPreserveSpace:()Z
            ifne 5
         3: .line 499
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.justBroke:()Z
            ifne 5
         4: .line 500
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.breakLine:()V
         5: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 60
            invokevirtual nu.xom.TextWriter.write:(C)V
         6: .line 503
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* element */
            invokevirtual nu.xom.Element.getQualifiedName:()Ljava/lang/String;
            invokevirtual nu.xom.TextWriter.writeName:(Ljava/lang/String;)V
         7: .line 504
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual nu.xom.Serializer.writeAttributes:(Lnu/xom/Element;)V
         8: .line 505
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual nu.xom.Serializer.writeNamespaceDeclarations:(Lnu/xom/Element;)V
         9: .line 507
            return
        end local 1 // nu.xom.Element element
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lnu/xom/Serializer;
            0   10     1  element  Lnu/xom/Element;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      element  

  protected void writeAttributes(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Element element
         0: .line 534
            aload 0 /* this */
            getfield nu.xom.Serializer.preserveBaseURI:Z
            ifeq 17
         1: .line 535
            aload 1 /* element */
            invokevirtual nu.xom.Element.getParent:()Lnu/xom/ParentNode;
            astore 2 /* parent */
        start local 2 // nu.xom.ParentNode parent
         2: .line 536
            aload 1 /* element */
            ldc "base"
         3: .line 537
            ldc "http://www.w3.org/XML/1998/namespace"
         4: .line 536
            invokevirtual nu.xom.Element.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Lnu/xom/Attribute;
            ifnonnull 17
         5: .line 538
            aload 1 /* element */
            invokevirtual nu.xom.Element.getBaseURI:()Ljava/lang/String;
            astore 3 /* baseValue */
        start local 3 // java.lang.String baseValue
         6: .line 539
            aload 2 /* parent */
            ifnull 10
         7: .line 540
            aload 2 /* parent */
            invokevirtual nu.xom.ParentNode.isDocument:()Z
            ifne 10
         8: .line 541
            aload 1 /* element */
            invokevirtual nu.xom.Element.getBaseURI:()Ljava/lang/String;
         9: .line 542
            aload 2 /* parent */
            invokevirtual nu.xom.ParentNode.getBaseURI:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        10: .line 544
      StackMap locals: nu.xom.ParentNode java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 32
            invokevirtual nu.xom.TextWriter.write:(C)V
        11: .line 545
            new nu.xom.Attribute
            dup
        12: .line 546
            ldc "xml:base"
        13: .line 547
            ldc "http://www.w3.org/XML/1998/namespace"
        14: .line 548
            aload 3 /* baseValue */
        15: .line 545
            invokespecial nu.xom.Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 4 /* baseAttribute */
        start local 4 // nu.xom.Attribute baseAttribute
        16: .line 549
            aload 0 /* this */
            aload 4 /* baseAttribute */
            invokevirtual nu.xom.Serializer.write:(Lnu/xom/Attribute;)V
        end local 4 // nu.xom.Attribute baseAttribute
        end local 3 // java.lang.String baseValue
        end local 2 // nu.xom.ParentNode parent
        17: .line 554
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            invokevirtual nu.xom.Element.getAttributeCount:()I
            istore 2 /* attributeCount */
        start local 2 // int attributeCount
        18: .line 555
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        19: goto 24
        20: .line 556
      StackMap locals: int int
      StackMap stack:
            aload 1 /* element */
            iload 3 /* i */
            invokevirtual nu.xom.Element.getAttribute:(I)Lnu/xom/Attribute;
            astore 4 /* attribute */
        start local 4 // nu.xom.Attribute attribute
        21: .line 557
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 32
            invokevirtual nu.xom.TextWriter.write:(C)V
        22: .line 558
            aload 0 /* this */
            aload 4 /* attribute */
            invokevirtual nu.xom.Serializer.write:(Lnu/xom/Attribute;)V
        end local 4 // nu.xom.Attribute attribute
        23: .line 555
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 3 /* i */
            iload 2 /* attributeCount */
            if_icmplt 20
        end local 3 // int i
        25: .line 560
            return
        end local 2 // int attributeCount
        end local 1 // nu.xom.Element element
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lnu/xom/Serializer;
            0   26     1         element  Lnu/xom/Element;
            2   17     2          parent  Lnu/xom/ParentNode;
            6   17     3       baseValue  Ljava/lang/String;
           16   17     4   baseAttribute  Lnu/xom/Attribute;
           18   26     2  attributeCount  I
           19   25     3               i  I
           21   23     4       attribute  Lnu/xom/Attribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      element  

  protected void writeNamespaceDeclarations(nu.xom.Element);
    descriptor: (Lnu/xom/Element;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Element element
         0: .line 583
            aload 1 /* element */
            invokevirtual nu.xom.Element.getNamespacePrefix:()Ljava/lang/String;
            astore 2 /* prefix */
        start local 2 // java.lang.String prefix
         1: .line 584
            ldc "xml"
            aload 2 /* prefix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 585
            aload 0 /* this */
            aload 2 /* prefix */
            aload 1 /* element */
            invokevirtual nu.xom.Element.getNamespaceURI:()Ljava/lang/String;
            invokevirtual nu.xom.Serializer.writeNamespaceDeclarationIfNecessary:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 589
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* element */
            invokevirtual nu.xom.Element.getAttributeCount:()I
            istore 3 /* attCount */
        start local 3 // int attCount
         4: .line 590
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 11
         6: .line 591
      StackMap locals: int int
      StackMap stack:
            aload 1 /* element */
            iload 4 /* i */
            invokevirtual nu.xom.Element.getAttribute:(I)Lnu/xom/Attribute;
            astore 5 /* att */
        start local 5 // nu.xom.Attribute att
         7: .line 592
            aload 5 /* att */
            invokevirtual nu.xom.Attribute.getNamespacePrefix:()Ljava/lang/String;
            astore 6 /* attPrefix */
        start local 6 // java.lang.String attPrefix
         8: .line 593
            aload 6 /* attPrefix */
            invokevirtual java.lang.String.length:()I
            ifeq 10
            ldc "xml"
            aload 6 /* attPrefix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 594
            aload 0 /* this */
            aload 6 /* attPrefix */
            aload 5 /* att */
            invokevirtual nu.xom.Attribute.getNamespaceURI:()Ljava/lang/String;
            invokevirtual nu.xom.Serializer.writeNamespaceDeclarationIfNecessary:(Ljava/lang/String;Ljava/lang/String;)V
        end local 6 // java.lang.String attPrefix
        end local 5 // nu.xom.Attribute att
        10: .line 590
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* attCount */
            if_icmplt 6
        end local 4 // int i
        12: .line 599
            aload 1 /* element */
            getfield nu.xom.Element.namespaces:Lnu/xom/Namespaces;
            astore 4 /* namespaces */
        start local 4 // nu.xom.Namespaces namespaces
        13: .line 600
            aload 4 /* namespaces */
            ifnonnull 14
            return
        14: .line 601
      StackMap locals: nu.xom.Serializer nu.xom.Element java.lang.String int nu.xom.Namespaces
      StackMap stack:
            aload 4 /* namespaces */
            invokevirtual nu.xom.Namespaces.size:()I
            istore 5 /* namespaceCount */
        start local 5 // int namespaceCount
        15: .line 602
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        16: goto 21
        17: .line 603
      StackMap locals: int int
      StackMap stack:
            aload 4 /* namespaces */
            iload 6 /* i */
            invokevirtual nu.xom.Namespaces.getPrefix:(I)Ljava/lang/String;
            astore 7 /* additionalPrefix */
        start local 7 // java.lang.String additionalPrefix
        18: .line 604
            aload 4 /* namespaces */
            aload 7 /* additionalPrefix */
            invokevirtual nu.xom.Namespaces.getURI:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* uri */
        start local 8 // java.lang.String uri
        19: .line 605
            aload 0 /* this */
            aload 7 /* additionalPrefix */
            aload 8 /* uri */
            invokevirtual nu.xom.Serializer.writeNamespaceDeclarationIfNecessary:(Ljava/lang/String;Ljava/lang/String;)V
        end local 8 // java.lang.String uri
        end local 7 // java.lang.String additionalPrefix
        20: .line 602
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 5 /* namespaceCount */
            if_icmplt 17
        end local 6 // int i
        22: .line 608
            return
        end local 5 // int namespaceCount
        end local 4 // nu.xom.Namespaces namespaces
        end local 3 // int attCount
        end local 2 // java.lang.String prefix
        end local 1 // nu.xom.Element element
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Lnu/xom/Serializer;
            0   23     1           element  Lnu/xom/Element;
            1   23     2            prefix  Ljava/lang/String;
            4   23     3          attCount  I
            5   12     4                 i  I
            7   10     5               att  Lnu/xom/Attribute;
            8   10     6         attPrefix  Ljava/lang/String;
           13   23     4        namespaces  Lnu/xom/Namespaces;
           15   23     5    namespaceCount  I
           16   22     6                 i  I
           18   20     7  additionalPrefix  Ljava/lang/String;
           19   20     8               uri  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      element  

  private void writeNamespaceDeclarationIfNecessary(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // nu.xom.Serializer this
        start local 1 // java.lang.String prefix
        start local 2 // java.lang.String uri
         0: .line 614
            aload 0 /* this */
            getfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
            aload 1 /* prefix */
            invokevirtual org.xml.sax.helpers.NamespaceSupport.getURI:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* currentValue */
        start local 3 // java.lang.String currentValue
         1: .line 617
            aload 3 /* currentValue */
            ifnonnull 3
            ldc ""
            aload 2 /* uri */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 618
            return
         3: .line 620
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* uri */
            aload 3 /* currentValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 621
            return
         5: .line 624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 32
            invokevirtual nu.xom.TextWriter.write:(C)V
         6: .line 625
            aload 0 /* this */
            aload 1 /* prefix */
            aload 2 /* uri */
            invokevirtual nu.xom.Serializer.writeNamespaceDeclaration:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 627
            return
        end local 3 // java.lang.String currentValue
        end local 2 // java.lang.String uri
        end local 1 // java.lang.String prefix
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lnu/xom/Serializer;
            0    8     1        prefix  Ljava/lang/String;
            0    8     2           uri  Ljava/lang/String;
            1    8     3  currentValue  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      prefix  
      uri     

  protected void writeNamespaceDeclaration(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // nu.xom.Serializer this
        start local 1 // java.lang.String prefix
        start local 2 // java.lang.String uri
         0: .line 651
            aload 0 /* this */
            getfield nu.xom.Serializer.namespaces:Lorg/xml/sax/helpers/NamespaceSupport;
            aload 1 /* prefix */
            aload 2 /* uri */
            invokevirtual org.xml.sax.helpers.NamespaceSupport.declarePrefix:(Ljava/lang/String;Ljava/lang/String;)Z
            pop
         1: .line 652
            ldc ""
            aload 1 /* prefix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 653
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "xmlns"
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         3: .line 654
            goto 6
         4: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "xmlns:"
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         5: .line 657
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* prefix */
            invokevirtual nu.xom.TextWriter.writeName:(Ljava/lang/String;)V
         6: .line 659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 61
            invokevirtual nu.xom.TextWriter.write:(C)V
         7: .line 660
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 34
            invokevirtual nu.xom.TextWriter.write:(C)V
         8: .line 661
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 2 /* uri */
            invokevirtual nu.xom.TextWriter.writePCDATA:(Ljava/lang/String;)V
         9: .line 662
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 34
            invokevirtual nu.xom.TextWriter.write:(C)V
        10: .line 664
            return
        end local 2 // java.lang.String uri
        end local 1 // java.lang.String prefix
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lnu/xom/Serializer;
            0   11     1  prefix  Ljava/lang/String;
            0   11     2     uri  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      prefix  
      uri     

  protected void write(nu.xom.Attribute);
    descriptor: (Lnu/xom/Attribute;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Attribute attribute
         0: .line 683
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* attribute */
            invokevirtual nu.xom.Attribute.getQualifiedName:()Ljava/lang/String;
            invokevirtual nu.xom.TextWriter.writeName:(Ljava/lang/String;)V
         1: .line 684
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 61
            invokevirtual nu.xom.TextWriter.write:(C)V
         2: .line 685
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 34
            invokevirtual nu.xom.TextWriter.write:(C)V
         3: .line 686
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* attribute */
            invokevirtual nu.xom.Attribute.getValue:()Ljava/lang/String;
            invokevirtual nu.xom.TextWriter.writeAttributeValue:(Ljava/lang/String;)V
         4: .line 687
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 34
            invokevirtual nu.xom.TextWriter.write:(C)V
         5: .line 688
            return
        end local 1 // nu.xom.Attribute attribute
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lnu/xom/Serializer;
            0    6     1  attribute  Lnu/xom/Attribute;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      attribute  

  protected void write(nu.xom.Comment);
    descriptor: (Lnu/xom/Comment;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Comment comment
         0: .line 708
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.isIndenting:()Z
            ifeq 1
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.breakLine:()V
         1: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "<!--"
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         2: .line 710
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* comment */
            invokevirtual nu.xom.Comment.getValue:()Ljava/lang/String;
            invokevirtual nu.xom.TextWriter.writeMarkup:(Ljava/lang/String;)V
         3: .line 711
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "-->"
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         4: .line 712
            return
        end local 1 // nu.xom.Comment comment
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lnu/xom/Serializer;
            0    5     1  comment  Lnu/xom/Comment;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      comment  

  protected void write(nu.xom.ProcessingInstruction);
    descriptor: (Lnu/xom/ProcessingInstruction;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.ProcessingInstruction instruction
         0: .line 737
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.isIndenting:()Z
            ifeq 1
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.breakLine:()V
         1: .line 738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "<?"
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         2: .line 739
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* instruction */
            invokevirtual nu.xom.ProcessingInstruction.getTarget:()Ljava/lang/String;
            invokevirtual nu.xom.TextWriter.writeName:(Ljava/lang/String;)V
         3: .line 740
            aload 1 /* instruction */
            invokevirtual nu.xom.ProcessingInstruction.getValue:()Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         4: .line 743
            ldc ""
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 744
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 32
            invokevirtual nu.xom.TextWriter.write:(C)V
         6: .line 745
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 2 /* value */
            invokevirtual nu.xom.TextWriter.writeMarkup:(Ljava/lang/String;)V
         7: .line 747
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "?>"
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         8: .line 749
            return
        end local 2 // java.lang.String value
        end local 1 // nu.xom.ProcessingInstruction instruction
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lnu/xom/Serializer;
            0    9     1  instruction  Lnu/xom/ProcessingInstruction;
            4    9     2        value  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      instruction  

  protected void write(nu.xom.Text);
    descriptor: (Lnu/xom/Text;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Text text
         0: .line 777
            aload 1 /* text */
            invokevirtual nu.xom.Text.getValue:()Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         1: .line 778
            aload 1 /* text */
            invokevirtual nu.xom.Text.isCDATASection:()Z
            ifeq 16
         2: .line 779
            aload 2 /* value */
            ldc "]]>"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 16
         3: .line 780
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            instanceof nu.xom.UnicodeWriter
            ifne 12
         4: .line 781
            aload 2 /* value */
            invokevirtual java.lang.String.length:()I
            istore 3 /* length */
        start local 3 // int length
         5: .line 782
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 11
         7: .line 783
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 2 /* value */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual nu.xom.TextWriter.needsEscaping:(C)Z
            ifeq 10
         8: .line 785
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 2 /* value */
            invokevirtual nu.xom.TextWriter.writePCDATA:(Ljava/lang/String;)V
         9: .line 786
            return
        10: .line 782
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 7
        end local 4 // int i
        end local 3 // int length
        12: .line 790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "<![CDATA["
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
        13: .line 791
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 2 /* value */
            invokevirtual nu.xom.TextWriter.writeMarkup:(Ljava/lang/String;)V
        14: .line 792
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "]]>"
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
        15: .line 793
            goto 19
        16: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* text */
            aload 2 /* value */
            invokevirtual nu.xom.Serializer.isBoundaryWhitespace:(Lnu/xom/Text;Ljava/lang/String;)Z
            ifeq 18
        17: .line 796
            return
        18: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 2 /* value */
            invokevirtual nu.xom.TextWriter.writePCDATA:(Ljava/lang/String;)V
        19: .line 802
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String value
        end local 1 // nu.xom.Text text
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lnu/xom/Serializer;
            0   20     1    text  Lnu/xom/Text;
            1   20     2   value  Ljava/lang/String;
            5   12     3  length  I
            6   12     4       i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      text  

  private boolean isBoundaryWhitespace(nu.xom.Text, java.lang.String);
    descriptor: (Lnu/xom/Text;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Text text
        start local 2 // java.lang.String value
         0: .line 807
            aload 0 /* this */
            invokevirtual nu.xom.Serializer.getIndent:()I
            ifgt 1
            iconst_0
            ireturn
         1: .line 809
      StackMap locals:
      StackMap stack:
            aload 1 /* text */
            invokevirtual nu.xom.Text.getParent:()Lnu/xom/ParentNode;
            astore 3 /* parent */
        start local 3 // nu.xom.ParentNode parent
         2: .line 810
            aload 3 /* parent */
            ifnonnull 4
         3: .line 811
            ldc ""
            aload 2 /* value */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         4: .line 816
      StackMap locals: nu.xom.ParentNode
      StackMap stack:
            aload 3 /* parent */
            invokevirtual nu.xom.ParentNode.getChildCount:()I
            istore 4 /* childCount */
        start local 4 // int childCount
         5: .line 817
            iload 4 /* childCount */
            iconst_1
            if_icmpne 6
            iconst_0
            ireturn
         6: .line 818
      StackMap locals: int
      StackMap stack:
            ldc ""
            aload 2 /* value */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            iconst_0
            ireturn
         7: .line 826
      StackMap locals:
      StackMap stack:
            aload 3 /* parent */
            aload 1 /* text */
            invokevirtual nu.xom.ParentNode.indexOf:(Lnu/xom/Node;)I
            istore 5 /* position */
        start local 5 // int position
         8: .line 828
            aconst_null
            astore 6 /* previous */
        start local 6 // nu.xom.Node previous
         9: .line 829
            aconst_null
            astore 7 /* next */
        start local 7 // nu.xom.Node next
        10: .line 831
            iload 5 /* position */
            ifeq 11
            aload 3 /* parent */
            iload 5 /* position */
            iconst_1
            isub
            invokevirtual nu.xom.ParentNode.getChild:(I)Lnu/xom/Node;
            astore 6 /* previous */
        11: .line 832
      StackMap locals: int nu.xom.Node nu.xom.Node
      StackMap stack:
            iload 5 /* position */
            iload 4 /* childCount */
            iconst_1
            isub
            if_icmpeq 13
        12: .line 833
            aload 3 /* parent */
            iload 5 /* position */
            iconst_1
            iadd
            invokevirtual nu.xom.ParentNode.getChild:(I)Lnu/xom/Node;
            astore 7 /* next */
        13: .line 835
      StackMap locals:
      StackMap stack:
            aload 6 /* previous */
            ifnull 14
            aload 6 /* previous */
            invokevirtual nu.xom.Node.isText:()Z
            ifne 16
        14: .line 836
      StackMap locals:
      StackMap stack:
            aload 7 /* next */
            ifnull 15
            aload 7 /* next */
            invokevirtual nu.xom.Node.isText:()Z
            ifne 16
        15: .line 837
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        16: .line 841
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // nu.xom.Node next
        end local 6 // nu.xom.Node previous
        end local 5 // int position
        end local 4 // int childCount
        end local 3 // nu.xom.ParentNode parent
        end local 2 // java.lang.String value
        end local 1 // nu.xom.Text text
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lnu/xom/Serializer;
            0   17     1        text  Lnu/xom/Text;
            0   17     2       value  Ljava/lang/String;
            2   17     3      parent  Lnu/xom/ParentNode;
            5   17     4  childCount  I
            8   17     5    position  I
            9   17     6    previous  Lnu/xom/Node;
           10   17     7        next  Lnu/xom/Node;
    MethodParameters:
       Name  Flags
      text   
      value  

  protected void write(nu.xom.DocType);
    descriptor: (Lnu/xom/DocType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.DocType doctype
         0: .line 862
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc "<!DOCTYPE "
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
         1: .line 863
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* doctype */
            invokevirtual nu.xom.DocType.getRootElementName:()Ljava/lang/String;
            invokevirtual nu.xom.TextWriter.writeName:(Ljava/lang/String;)V
         2: .line 864
            aload 1 /* doctype */
            invokevirtual nu.xom.DocType.getPublicID:()Ljava/lang/String;
            ifnull 7
         3: .line 865
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            new java.lang.StringBuilder
            dup
            ldc " PUBLIC \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* doctype */
            invokevirtual nu.xom.DocType.getPublicID:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 866
            ldc "\" \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* doctype */
            invokevirtual nu.xom.DocType.getSystemID:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 865
            invokevirtual nu.xom.TextWriter.writeMarkup:(Ljava/lang/String;)V
         6: .line 867
            goto 11
         7: .line 868
      StackMap locals:
      StackMap stack:
            aload 1 /* doctype */
            invokevirtual nu.xom.DocType.getSystemID:()Ljava/lang/String;
            ifnull 11
         8: .line 869
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
         9: .line 870
            new java.lang.StringBuilder
            dup
            ldc " SYSTEM \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* doctype */
            invokevirtual nu.xom.DocType.getSystemID:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 869
            invokevirtual nu.xom.TextWriter.writeMarkup:(Ljava/lang/String;)V
        11: .line 873
      StackMap locals:
      StackMap stack:
            aload 1 /* doctype */
            invokevirtual nu.xom.DocType.getInternalDTDSubset:()Ljava/lang/String;
            astore 2 /* internalDTDSubset */
        start local 2 // java.lang.String internalDTDSubset
        12: .line 874
            aload 2 /* internalDTDSubset */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
        13: .line 875
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            ldc " ["
            invokevirtual nu.xom.TextWriter.writeUncheckedMarkup:(Ljava/lang/String;)V
        14: .line 876
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.breakLine:()V
        15: .line 877
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            iconst_1
            invokevirtual nu.xom.TextWriter.setInDocType:(Z)V
        16: .line 878
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 2 /* internalDTDSubset */
            invokevirtual nu.xom.TextWriter.writeMarkup:(Ljava/lang/String;)V
        17: .line 879
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            iconst_0
            invokevirtual nu.xom.TextWriter.setInDocType:(Z)V
        18: .line 880
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 93
            invokevirtual nu.xom.TextWriter.write:(C)V
        19: .line 883
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            bipush 62
            invokevirtual nu.xom.TextWriter.write:(C)V
        20: .line 885
            return
        end local 2 // java.lang.String internalDTDSubset
        end local 1 // nu.xom.DocType doctype
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0               this  Lnu/xom/Serializer;
            0   21     1            doctype  Lnu/xom/DocType;
           12   21     2  internalDTDSubset  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      doctype  

  protected void writeChild(nu.xom.Node);
    descriptor: (Lnu/xom/Node;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // nu.xom.Node node
         0: .line 907
            aload 1 /* node */
            invokevirtual nu.xom.Node.isElement:()Z
            ifeq 3
         1: .line 908
            aload 0 /* this */
            aload 1 /* node */
            checkcast nu.xom.Element
            invokevirtual nu.xom.Serializer.write:(Lnu/xom/Element;)V
         2: .line 909
            goto 19
         3: .line 910
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual nu.xom.Node.isText:()Z
            ifeq 6
         4: .line 911
            aload 0 /* this */
            aload 1 /* node */
            checkcast nu.xom.Text
            invokevirtual nu.xom.Serializer.write:(Lnu/xom/Text;)V
         5: .line 912
            goto 19
         6: .line 913
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual nu.xom.Node.isComment:()Z
            ifeq 9
         7: .line 914
            aload 0 /* this */
            aload 1 /* node */
            checkcast nu.xom.Comment
            invokevirtual nu.xom.Serializer.write:(Lnu/xom/Comment;)V
         8: .line 915
            goto 19
         9: .line 916
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual nu.xom.Node.isProcessingInstruction:()Z
            ifeq 12
        10: .line 917
            aload 0 /* this */
            aload 1 /* node */
            checkcast nu.xom.ProcessingInstruction
            invokevirtual nu.xom.Serializer.write:(Lnu/xom/ProcessingInstruction;)V
        11: .line 918
            goto 19
        12: .line 919
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual nu.xom.Node.isDocType:()Z
            ifeq 15
        13: .line 920
            aload 0 /* this */
            aload 1 /* node */
            checkcast nu.xom.DocType
            invokevirtual nu.xom.Serializer.write:(Lnu/xom/DocType;)V
        14: .line 921
            goto 19
        15: .line 923
      StackMap locals:
      StackMap stack:
            new nu.xom.XMLException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot write a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 924
            aload 1 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 925
            ldc " from the writeChild() method"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 923
            invokespecial nu.xom.XMLException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 928
      StackMap locals:
      StackMap stack:
            return
        end local 1 // nu.xom.Node node
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lnu/xom/Serializer;
            0   20     1  node  Lnu/xom/Node;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      node  

  protected final void writeEscaped(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // java.lang.String text
         0: .line 948
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* text */
            invokevirtual nu.xom.TextWriter.writePCDATA:(Ljava/lang/String;)V
         1: .line 949
            return
        end local 1 // java.lang.String text
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/Serializer;
            0    2     1  text  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      text  

  protected final void writeAttributeValue(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // java.lang.String value
         0: .line 972
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* value */
            invokevirtual nu.xom.TextWriter.writeAttributeValue:(Ljava/lang/String;)V
         1: .line 973
            return
        end local 1 // java.lang.String value
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lnu/xom/Serializer;
            0    2     1  value  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  protected final void writeRaw(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // java.lang.String text
         0: .line 990
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* text */
            invokevirtual nu.xom.TextWriter.writeMarkup:(Ljava/lang/String;)V
         1: .line 991
            return
        end local 1 // java.lang.String text
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/Serializer;
            0    2     1  text  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      text  

  protected final void breakLine();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1004
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.breakLine:()V
         1: .line 1005
            return
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/Serializer;
    Exceptions:
      throws java.io.IOException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1021
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.flush:()V
         1: .line 1022
            return
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnu/xom/Serializer;
    Exceptions:
      throws java.io.IOException

  public int getIndent();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1034
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getIndent:()I
            ireturn
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/Serializer;

  public void setIndent(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // int indent
         0: .line 1079
            iload 1 /* indent */
            ifge 4
         1: .line 1080
            new java.lang.IllegalArgumentException
            dup
         2: .line 1081
            ldc "Indent cannot be negative"
         3: .line 1080
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1084
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            iload 1 /* indent */
            invokevirtual nu.xom.TextWriter.setIndent:(I)V
         5: .line 1085
            return
        end local 1 // int indent
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lnu/xom/Serializer;
            0    6     1  indent  I
    MethodParameters:
        Name  Flags
      indent  

  public java.lang.String getLineSeparator();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1098
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getLineSeparator:()Ljava/lang/String;
            areturn
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/Serializer;

  public void setLineSeparator(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // java.lang.String lineSeparator
         0: .line 1128
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            aload 1 /* lineSeparator */
            invokevirtual nu.xom.TextWriter.setLineSeparator:(Ljava/lang/String;)V
         1: .line 1129
            return
        end local 1 // java.lang.String lineSeparator
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lnu/xom/Serializer;
            0    2     1  lineSeparator  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      lineSeparator  

  public int getMaxLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1140
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getMaxLength:()I
            ireturn
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/Serializer;

  public void setMaxLength(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // int maxLength
         0: .line 1185
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            iload 1 /* maxLength */
            invokevirtual nu.xom.TextWriter.setMaxLength:(I)V
         1: .line 1186
            return
        end local 1 // int maxLength
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lnu/xom/Serializer;
            0    2     1  maxLength  I
    MethodParameters:
           Name  Flags
      maxLength  

  public boolean getPreserveBaseURI();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1200
            aload 0 /* this */
            getfield nu.xom.Serializer.preserveBaseURI:Z
            ireturn
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/Serializer;

  public void setPreserveBaseURI(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // boolean preserve
         0: .line 1221
            aload 0 /* this */
            iload 1 /* preserve */
            putfield nu.xom.Serializer.preserveBaseURI:Z
         1: .line 1222
            return
        end local 1 // boolean preserve
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lnu/xom/Serializer;
            0    2     1  preserve  Z
    MethodParameters:
          Name  Flags
      preserve  

  public java.lang.String getEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1234
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getEncoding:()Ljava/lang/String;
            areturn
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/Serializer;

  public void setUnicodeNormalizationFormC(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // nu.xom.Serializer this
        start local 1 // boolean normalize
         0: .line 1263
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            iload 1 /* normalize */
            invokevirtual nu.xom.TextWriter.setNFC:(Z)V
         1: .line 1264
            return
        end local 1 // boolean normalize
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lnu/xom/Serializer;
            0    2     1  normalize  Z
    MethodParameters:
           Name  Flags
      normalize  

  public boolean getUnicodeNormalizationFormC();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1278
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getNFC:()Z
            ireturn
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/Serializer;

  protected final int getColumnNumber();
    descriptor: ()I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.Serializer this
         0: .line 1304
            aload 0 /* this */
            getfield nu.xom.Serializer.escaper:Lnu/xom/TextWriter;
            invokevirtual nu.xom.TextWriter.getColumnNumber:()I
            ireturn
        end local 0 // nu.xom.Serializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/Serializer;
}
SourceFile: "Serializer.java"