public class org.glassfish.grizzly.http.server.util.HtmlHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.http.server.util.HtmlHelper
  super_class: java.lang.Object
{
  private static final int MAX_STACK_ELEMENTS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final java.lang.String CSS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "div.header {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#003300;font-size:22px;-moz-border-radius-topleft: 10px;border-top-left-radius: 10px;-moz-border-radius-topright: 10px;border-top-right-radius: 10px;padding-left: 5px}div.body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:#FFFFCC;font-size:16px;padding-top:10px;padding-bottom:10px;padding-left:10px}div.footer {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#666633;font-size:14px;-moz-border-radius-bottomleft: 10px;border-bottom-left-radius: 10px;-moz-border-radius-bottomright: 10px;border-bottom-right-radius: 10px;padding-left: 5px}BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}B {font-family:Tahoma,Arial,sans-serif;color:black;}A {color : black;}HR {color : #999966;}"

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

  public static void sendErrorPage(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.server.Response, org.glassfish.grizzly.http.server.ErrorPageGenerator, int, java.lang.String, java.lang.String, java.lang.Throwable);
    descriptor: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/server/Response;Lorg/glassfish/grizzly/http/server/ErrorPageGenerator;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.glassfish.grizzly.http.server.Request request
        start local 1 // org.glassfish.grizzly.http.server.Response response
        start local 2 // org.glassfish.grizzly.http.server.ErrorPageGenerator generator
        start local 3 // int status
        start local 4 // java.lang.String reasonPhrase
        start local 5 // java.lang.String description
        start local 6 // java.lang.Throwable exception
         0: .line 67
            aload 2 /* generator */
            ifnull 11
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.isCommitted:()Z
            ifne 11
         1: .line 68
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.getOutputBuffer:()Lorg/glassfish/grizzly/http/io/OutputBuffer;
            invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.getBufferedDataSize:()I
            ifne 11
         2: .line 69
            aload 2 /* generator */
            aload 0 /* request */
            iload 3 /* status */
         3: .line 70
            aload 4 /* reasonPhrase */
            aload 5 /* description */
            aload 6 /* exception */
         4: .line 69
            invokeinterface org.glassfish.grizzly.http.server.ErrorPageGenerator.generate:(Lorg/glassfish/grizzly/http/server/Request;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
            astore 7 /* errorPage */
        start local 7 // java.lang.String errorPage
         5: .line 72
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.getWriter:()Ljava/io/Writer;
            astore 8 /* writer */
        start local 8 // java.io.Writer writer
         6: .line 74
            aload 7 /* errorPage */
            ifnull 10
         7: .line 75
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.getResponse:()Lorg/glassfish/grizzly/http/HttpResponsePacket;
            invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.isContentTypeSet:()Z
            ifne 9
         8: .line 76
            aload 1 /* response */
            ldc "text/html"
            invokevirtual org.glassfish.grizzly.http.server.Response.setContentType:(Ljava/lang/String;)V
         9: .line 79
      StackMap locals: java.lang.String java.io.Writer
      StackMap stack:
            aload 8 /* writer */
            aload 7 /* errorPage */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
        10: .line 81
      StackMap locals:
      StackMap stack:
            aload 8 /* writer */
            invokevirtual java.io.Writer.close:()V
        end local 8 // java.io.Writer writer
        end local 7 // java.lang.String errorPage
        11: .line 83
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.Throwable exception
        end local 5 // java.lang.String description
        end local 4 // java.lang.String reasonPhrase
        end local 3 // int status
        end local 2 // org.glassfish.grizzly.http.server.ErrorPageGenerator generator
        end local 1 // org.glassfish.grizzly.http.server.Response response
        end local 0 // org.glassfish.grizzly.http.server.Request request
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0       request  Lorg/glassfish/grizzly/http/server/Request;
            0   12     1      response  Lorg/glassfish/grizzly/http/server/Response;
            0   12     2     generator  Lorg/glassfish/grizzly/http/server/ErrorPageGenerator;
            0   12     3        status  I
            0   12     4  reasonPhrase  Ljava/lang/String;
            0   12     5   description  Ljava/lang/String;
            0   12     6     exception  Ljava/lang/Throwable;
            5   11     7     errorPage  Ljava/lang/String;
            6   11     8        writer  Ljava/io/Writer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      request       final
      response      final
      generator     final
      status        final
      reasonPhrase  final
      description   final
      exception     final

  public static void setErrorAndSendErrorPage(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.server.Response, org.glassfish.grizzly.http.server.ErrorPageGenerator, int, java.lang.String, java.lang.String, java.lang.Throwable);
    descriptor: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/server/Response;Lorg/glassfish/grizzly/http/server/ErrorPageGenerator;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.glassfish.grizzly.http.server.Request request
        start local 1 // org.glassfish.grizzly.http.server.Response response
        start local 2 // org.glassfish.grizzly.http.server.ErrorPageGenerator generator
        start local 3 // int status
        start local 4 // java.lang.String reasonPhrase
        start local 5 // java.lang.String description
        start local 6 // java.lang.Throwable exception
         0: .line 106
            aload 1 /* response */
            iload 3 /* status */
            aload 4 /* reasonPhrase */
            invokevirtual org.glassfish.grizzly.http.server.Response.setStatus:(ILjava/lang/String;)V
         1: .line 108
            aload 2 /* generator */
            ifnull 12
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.isCommitted:()Z
            ifne 12
         2: .line 109
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.getOutputBuffer:()Lorg/glassfish/grizzly/http/io/OutputBuffer;
            invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.getBufferedDataSize:()I
            ifne 12
         3: .line 110
            aload 2 /* generator */
            aload 0 /* request */
            iload 3 /* status */
         4: .line 111
            aload 4 /* reasonPhrase */
            aload 5 /* description */
            aload 6 /* exception */
         5: .line 110
            invokeinterface org.glassfish.grizzly.http.server.ErrorPageGenerator.generate:(Lorg/glassfish/grizzly/http/server/Request;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
            astore 7 /* errorPage */
        start local 7 // java.lang.String errorPage
         6: .line 113
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.getWriter:()Ljava/io/Writer;
            astore 8 /* writer */
        start local 8 // java.io.Writer writer
         7: .line 115
            aload 7 /* errorPage */
            ifnull 11
         8: .line 116
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.getResponse:()Lorg/glassfish/grizzly/http/HttpResponsePacket;
            invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.isContentTypeSet:()Z
            ifne 10
         9: .line 117
            aload 1 /* response */
            ldc "text/html"
            invokevirtual org.glassfish.grizzly.http.server.Response.setContentType:(Ljava/lang/String;)V
        10: .line 120
      StackMap locals: java.lang.String java.io.Writer
      StackMap stack:
            aload 8 /* writer */
            aload 7 /* errorPage */
            invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
        11: .line 122
      StackMap locals:
      StackMap stack:
            aload 8 /* writer */
            invokevirtual java.io.Writer.close:()V
        end local 8 // java.io.Writer writer
        end local 7 // java.lang.String errorPage
        12: .line 124
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.Throwable exception
        end local 5 // java.lang.String description
        end local 4 // java.lang.String reasonPhrase
        end local 3 // int status
        end local 2 // org.glassfish.grizzly.http.server.ErrorPageGenerator generator
        end local 1 // org.glassfish.grizzly.http.server.Response response
        end local 0 // org.glassfish.grizzly.http.server.Request request
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0       request  Lorg/glassfish/grizzly/http/server/Request;
            0   13     1      response  Lorg/glassfish/grizzly/http/server/Response;
            0   13     2     generator  Lorg/glassfish/grizzly/http/server/ErrorPageGenerator;
            0   13     3        status  I
            0   13     4  reasonPhrase  Ljava/lang/String;
            0   13     5   description  Ljava/lang/String;
            0   13     6     exception  Ljava/lang/Throwable;
            6   12     7     errorPage  Ljava/lang/String;
            7   12     8        writer  Ljava/io/Writer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      request       final
      response      final
      generator     final
      status        final
      reasonPhrase  final
      description   final
      exception     final

  public static void writeTraceMessage(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.server.Response);
    descriptor: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/server/Response;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.glassfish.grizzly.http.server.Request request
        start local 1 // org.glassfish.grizzly.http.server.Response response
         0: .line 128
            aload 1 /* response */
            getstatic org.glassfish.grizzly.http.util.HttpStatus.OK_200:Lorg/glassfish/grizzly/http/util/HttpStatus;
            invokevirtual org.glassfish.grizzly.http.server.Response.setStatus:(Lorg/glassfish/grizzly/http/util/HttpStatus;)V
         1: .line 129
            aload 1 /* response */
            ldc "message/http"
            invokevirtual org.glassfish.grizzly.http.server.Response.setContentType:(Ljava/lang/String;)V
         2: .line 130
            aload 1 /* response */
            invokevirtual org.glassfish.grizzly.http.server.Response.getWriter:()Ljava/io/Writer;
            astore 2 /* writer */
        start local 2 // java.io.Writer writer
         3: .line 131
            aload 2 /* writer */
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getMethod:()Lorg/glassfish/grizzly/http/Method;
            invokevirtual org.glassfish.grizzly.http.Method.toString:()Ljava/lang/String;
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            bipush 32
            invokevirtual java.io.Writer.append:(C)Ljava/io/Writer;
         4: .line 132
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
            invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getRequestURIRef:()Lorg/glassfish/grizzly/http/util/RequestURIRef;
            invokevirtual org.glassfish.grizzly.http.util.RequestURIRef.getOriginalRequestURIBC:()Lorg/glassfish/grizzly/http/util/DataChunk;
            invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:()Ljava/lang/String;
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
         5: .line 133
            bipush 32
            invokevirtual java.io.Writer.append:(C)Ljava/io/Writer;
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getProtocol:()Lorg/glassfish/grizzly/http/Protocol;
            invokevirtual org.glassfish.grizzly.http.Protocol.getProtocolString:()Ljava/lang/String;
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
         6: .line 134
            ldc "\r\n"
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            pop
         7: .line 136
            aload 0 /* request */
            invokevirtual org.glassfish.grizzly.http.server.Request.getHeaderNames:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.server.Response java.io.Writer top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* headerName */
        start local 3 // java.lang.String headerName
         9: .line 137
            aload 0 /* request */
            aload 3 /* headerName */
            invokevirtual org.glassfish.grizzly.http.server.Request.getHeaders:(Ljava/lang/String;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.server.Response java.io.Writer java.lang.String java.util.Iterator top java.util.Iterator
      StackMap stack:
        10: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* headerValue */
        start local 5 // java.lang.String headerValue
        11: .line 138
            aload 2 /* writer */
            aload 3 /* headerName */
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            ldc ": "
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            aload 5 /* headerValue */
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            ldc "\r\n"
            invokevirtual java.io.Writer.append:(Ljava/lang/CharSequence;)Ljava/io/Writer;
            pop
        end local 5 // java.lang.String headerValue
        12: .line 137
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 3 // java.lang.String headerName
        13: .line 136
      StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.server.Response java.io.Writer top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 141
            return
        end local 2 // java.io.Writer writer
        end local 1 // org.glassfish.grizzly.http.server.Response response
        end local 0 // org.glassfish.grizzly.http.server.Request request
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0      request  Lorg/glassfish/grizzly/http/server/Request;
            0   15     1     response  Lorg/glassfish/grizzly/http/server/Response;
            3   15     2       writer  Ljava/io/Writer;
            9   13     3   headerName  Ljava/lang/String;
           11   12     5  headerValue  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      request   final
      response  final

  public static java.lang.String getErrorPage(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String headerMessage
        start local 1 // java.lang.String message
        start local 2 // java.lang.String serverName
         0: .line 149
            aload 0 /* headerMessage */
            aload 1 /* message */
            aload 2 /* serverName */
            invokestatic org.glassfish.grizzly.http.server.util.HtmlHelper.prepareBody:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String serverName
        end local 1 // java.lang.String message
        end local 0 // java.lang.String headerMessage
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  headerMessage  Ljava/lang/String;
            0    1     1        message  Ljava/lang/String;
            0    1     2     serverName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      headerMessage  
      message        
      serverName     

  public static java.lang.String getExceptionErrorPage(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.String headerMessage
        start local 1 // java.lang.String message
        start local 2 // java.lang.String serverName
        start local 3 // java.lang.Throwable t
         0: .line 155
            aload 0 /* headerMessage */
            aload 1 /* message */
            aload 2 /* serverName */
            aload 3 /* t */
            invokestatic org.glassfish.grizzly.http.server.util.HtmlHelper.prepareExceptionBody:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.Throwable t
        end local 2 // java.lang.String serverName
        end local 1 // java.lang.String message
        end local 0 // java.lang.String headerMessage
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  headerMessage  Ljava/lang/String;
            0    1     1        message  Ljava/lang/String;
            0    1     2     serverName  Ljava/lang/String;
            0    1     3              t  Ljava/lang/Throwable;
    MethodParameters:
               Name  Flags
      headerMessage  
      message        
      serverName     
      t              

  private static java.lang.String prepareBody(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.lang.String headerMessage
        start local 1 // java.lang.String message
        start local 2 // java.lang.String serverName
         0: .line 163
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         1: .line 165
            aload 3 /* sb */
            ldc "<html><head><title>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 166
            aload 3 /* sb */
            aload 2 /* serverName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 167
            aload 3 /* sb */
            ldc "</title>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 168
            aload 3 /* sb */
            ldc "<style><!--"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 169
            aload 3 /* sb */
            ldc "div.header {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#003300;font-size:22px;-moz-border-radius-topleft: 10px;border-top-left-radius: 10px;-moz-border-radius-topright: 10px;border-top-right-radius: 10px;padding-left: 5px}div.body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:#FFFFCC;font-size:16px;padding-top:10px;padding-bottom:10px;padding-left:10px}div.footer {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#666633;font-size:14px;-moz-border-radius-bottomleft: 10px;border-bottom-left-radius: 10px;-moz-border-radius-bottomright: 10px;border-bottom-right-radius: 10px;padding-left: 5px}BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}B {font-family:Tahoma,Arial,sans-serif;color:black;}A {color : black;}HR {color : #999966;}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 170
            aload 3 /* sb */
            ldc "--></style> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 171
            aload 3 /* sb */
            ldc "</head><body>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 172
            aload 3 /* sb */
            ldc "<div class=\"header\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 173
            aload 3 /* sb */
            aload 0 /* headerMessage */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 174
            aload 3 /* sb */
            ldc "</div>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 175
            aload 3 /* sb */
            ldc "<div class=\"body\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 176
            aload 3 /* sb */
            aload 1 /* message */
            ifnull 13
            aload 1 /* message */
            goto 14
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder
        13: ldc "<HR size=\"1\" noshade>"
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder java.lang.String
        14: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 177
            aload 3 /* sb */
            ldc "</div>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 178
            aload 3 /* sb */
            ldc "<div class=\"footer\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* serverName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</div>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 179
            aload 3 /* sb */
            ldc "</body></html>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 180
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.lang.String serverName
        end local 1 // java.lang.String message
        end local 0 // java.lang.String headerMessage
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0  headerMessage  Ljava/lang/String;
            0   19     1        message  Ljava/lang/String;
            0   19     2     serverName  Ljava/lang/String;
            1   19     3             sb  Ljava/lang/StringBuilder;
    MethodParameters:
               Name  Flags
      headerMessage  
      message        
      serverName     

  private static java.lang.String prepareExceptionBody(java.lang.String, java.lang.String, java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=4
        start local 0 // java.lang.String headerMessage
        start local 1 // java.lang.String message
        start local 2 // java.lang.String serverName
        start local 3 // java.lang.Throwable t
         0: .line 188
            aload 3 /* t */
            ifnonnull 2
         1: .line 189
            aload 0 /* headerMessage */
            aload 1 /* message */
            aload 2 /* serverName */
            invokestatic org.glassfish.grizzly.http.server.util.HtmlHelper.prepareBody:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         2: .line 192
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            invokestatic org.glassfish.grizzly.http.server.util.HtmlHelper.getRootCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 4 /* rootCause */
        start local 4 // java.lang.Throwable rootCause
         3: .line 194
            aload 3 /* t */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 5 /* elements */
        start local 5 // java.lang.StackTraceElement[] elements
         4: .line 195
            aconst_null
            astore 6 /* rootCauseElements */
        start local 6 // java.lang.StackTraceElement[] rootCauseElements
         5: .line 196
            aload 4 /* rootCause */
            ifnull 7
         6: .line 197
            aload 4 /* rootCause */
            invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 6 /* rootCauseElements */
         7: .line 199
      StackMap locals: java.lang.Throwable java.lang.StackTraceElement[] java.lang.StackTraceElement[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* tBuilder */
        start local 7 // java.lang.StringBuilder tBuilder
         8: .line 200
            aload 5 /* elements */
            aload 7 /* tBuilder */
            invokestatic org.glassfish.grizzly.http.server.util.HtmlHelper.formatStackElements:([Ljava/lang/StackTraceElement;Ljava/lang/StringBuilder;)V
         9: .line 201
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* rootBuilder */
        start local 8 // java.lang.StringBuilder rootBuilder
        10: .line 202
            aload 4 /* rootCause */
            ifnull 12
        11: .line 203
            aload 6 /* rootCauseElements */
            aload 8 /* rootBuilder */
            invokestatic org.glassfish.grizzly.http.server.util.HtmlHelper.formatStackElements:([Ljava/lang/StackTraceElement;Ljava/lang/StringBuilder;)V
        12: .line 206
      StackMap locals: java.lang.StringBuilder java.lang.StringBuilder
      StackMap stack:
            aload 3 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            ifnull 14
        13: .line 207
            aload 3 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokestatic org.glassfish.grizzly.http.util.HttpUtils.filter:(Ljava/lang/String;)Ljava/lang/String;
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokestatic org.glassfish.grizzly.http.util.HttpUtils.filter:(Ljava/lang/String;)Ljava/lang/String;
        15: .line 206
      StackMap locals:
      StackMap stack: java.lang.String
            astore 9 /* exMessage */
        start local 9 // java.lang.String exMessage
        16: .line 209
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 10 /* sb */
        start local 10 // java.lang.StringBuilder sb
        17: .line 210
            aload 10 /* sb */
            ldc "<html><head><title>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 211
            aload 10 /* sb */
            aload 2 /* serverName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 212
            aload 10 /* sb */
            ldc "</title>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 213
            aload 10 /* sb */
            ldc "<style><!--"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 214
            aload 10 /* sb */
            ldc "div.header {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#003300;font-size:22px;-moz-border-radius-topleft: 10px;border-top-left-radius: 10px;-moz-border-radius-topright: 10px;border-top-right-radius: 10px;padding-left: 5px}div.body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:#FFFFCC;font-size:16px;padding-top:10px;padding-bottom:10px;padding-left:10px}div.footer {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#666633;font-size:14px;-moz-border-radius-bottomleft: 10px;border-bottom-left-radius: 10px;-moz-border-radius-bottomright: 10px;border-bottom-right-radius: 10px;padding-left: 5px}BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}B {font-family:Tahoma,Arial,sans-serif;color:black;}A {color : black;}HR {color : #999966;}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 215
            aload 10 /* sb */
            ldc "--></style> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 216
            aload 10 /* sb */
            ldc "</head><body>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 217
            aload 10 /* sb */
            ldc "<div class=\"header\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 218
            aload 10 /* sb */
            aload 0 /* headerMessage */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 219
            aload 10 /* sb */
            ldc "</div>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 220
            aload 10 /* sb */
            ldc "<div class=\"body\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 221
            aload 10 /* sb */
            ldc "<b>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* exMessage */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</b>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 222
            aload 10 /* sb */
            ldc "<pre>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 223
            aload 10 /* sb */
            aload 7 /* tBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 224
            aload 10 /* sb */
            ldc "</pre>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 225
            aload 4 /* rootCause */
            ifnull 37
        33: .line 226
            aload 10 /* sb */
            ldc "<b>Root Cause: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* rootCause */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</b>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 227
            aload 10 /* sb */
            ldc "<pre>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 228
            aload 10 /* sb */
            aload 8 /* rootBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 229
            aload 10 /* sb */
            ldc "</pre>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 232
      StackMap locals: java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 10 /* sb */
            ldc "Please see the log for more detail."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 233
            aload 10 /* sb */
            ldc "</div>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 234
            aload 10 /* sb */
            ldc "<div class=\"footer\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* serverName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</div>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        40: .line 235
            aload 10 /* sb */
            ldc "</body></html>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 236
            aload 10 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 10 // java.lang.StringBuilder sb
        end local 9 // java.lang.String exMessage
        end local 8 // java.lang.StringBuilder rootBuilder
        end local 7 // java.lang.StringBuilder tBuilder
        end local 6 // java.lang.StackTraceElement[] rootCauseElements
        end local 5 // java.lang.StackTraceElement[] elements
        end local 4 // java.lang.Throwable rootCause
        end local 3 // java.lang.Throwable t
        end local 2 // java.lang.String serverName
        end local 1 // java.lang.String message
        end local 0 // java.lang.String headerMessage
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   42     0      headerMessage  Ljava/lang/String;
            0   42     1            message  Ljava/lang/String;
            0   42     2         serverName  Ljava/lang/String;
            0   42     3                  t  Ljava/lang/Throwable;
            3   42     4          rootCause  Ljava/lang/Throwable;
            4   42     5           elements  [Ljava/lang/StackTraceElement;
            5   42     6  rootCauseElements  [Ljava/lang/StackTraceElement;
            8   42     7           tBuilder  Ljava/lang/StringBuilder;
           10   42     8        rootBuilder  Ljava/lang/StringBuilder;
           16   42     9          exMessage  Ljava/lang/String;
           17   42    10                 sb  Ljava/lang/StringBuilder;
    MethodParameters:
               Name  Flags
      headerMessage  
      message        
      serverName     
      t              

  private static java.lang.Throwable getRootCause(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 242
            aconst_null
            astore 1 /* rootCause */
        start local 1 // java.lang.Throwable rootCause
         1: .line 243
            aload 0 /* t */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            ifnull 6
         2: .line 244
            aload 0 /* t */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 1 /* rootCause */
         3: .line 245
            goto 5
         4: .line 246
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* rootCause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 1 /* rootCause */
         5: .line 245
      StackMap locals:
      StackMap stack:
            aload 1 /* rootCause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            ifnonnull 4
         6: .line 249
      StackMap locals:
      StackMap stack:
            aload 1 /* rootCause */
            areturn
        end local 1 // java.lang.Throwable rootCause
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          t  Ljava/lang/Throwable;
            1    7     1  rootCause  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  private static void formatStackElements(java.lang.StackTraceElement[], java.lang.StringBuilder);
    descriptor: ([Ljava/lang/StackTraceElement;Ljava/lang/StringBuilder;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.StackTraceElement[] elements
        start local 1 // java.lang.StringBuilder builder
         0: .line 256
            aload 0 /* elements */
            invokestatic org.glassfish.grizzly.http.server.util.HtmlHelper.getMaxStackElementsToDisplay:([Ljava/lang/StackTraceElement;)I
            istore 2 /* maxLines */
        start local 2 // int maxLines
         1: .line 257
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 258
      StackMap locals: int int
      StackMap stack:
            aload 1 /* builder */
            iload 3 /* i */
            iconst_1
            iadd
            bipush 9
            if_icmple 4
            ldc "    "
            goto 5
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         4: ldc "     "
      StackMap locals: java.lang.StackTraceElement[] java.lang.StringBuilder int int
      StackMap stack: java.lang.StringBuilder java.lang.String
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* elements */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StackTraceElement.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 257
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* maxLines */
            if_icmplt 3
        end local 3 // int i
         8: .line 260
            aload 0 /* elements */
            arraylength
            bipush 10
            if_icmple 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 3 /* ellipse */
        start local 3 // boolean ellipse
        11: .line 261
            iload 3 /* ellipse */
            ifeq 13
        12: .line 262
            aload 1 /* builder */
            ldc "        ... "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* elements */
            arraylength
            bipush 10
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " more"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 265
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // boolean ellipse
        end local 2 // int maxLines
        end local 1 // java.lang.StringBuilder builder
        end local 0 // java.lang.StackTraceElement[] elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0  elements  [Ljava/lang/StackTraceElement;
            0   14     1   builder  Ljava/lang/StringBuilder;
            1   14     2  maxLines  I
            2    8     3         i  I
           11   14     3   ellipse  Z
    MethodParameters:
          Name  Flags
      elements  
      builder   

  private static int getMaxStackElementsToDisplay(java.lang.StackTraceElement[]);
    descriptor: ([Ljava/lang/StackTraceElement;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.StackTraceElement[] elements
         0: .line 270
            aload 0 /* elements */
            arraylength
            bipush 10
            if_icmple 1
            bipush 10
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* elements */
            arraylength
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.StackTraceElement[] elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  elements  [Ljava/lang/StackTraceElement;
    MethodParameters:
          Name  Flags
      elements  
}
SourceFile: "HtmlHelper.java"