public class org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement implements org.apache.catalina.valves.AbstractAccessLogValve$AccessLogElement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement
  super_class: java.lang.Object
{
  private static final java.lang.String requestStartPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "begin"

  private static final java.lang.String responseEndPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "end"

  private static final java.lang.String prefixSeparator;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ":"

  private static final java.lang.String secFormat;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sec"

  private static final java.lang.String msecFormat;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "msec"

  private static final java.lang.String msecFractionFormat;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "msec_frac"

  private static final java.lang.String msecPattern;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "{#}"

  private static final java.lang.String tripleMsecPattern;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "{#}{#}{#}"

  private final java.lang.String format;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean usesBegin;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.catalina.valves.AbstractAccessLogValve$FormatType type;
    descriptor: Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  final org.apache.catalina.valves.AbstractAccessLogValve this$0;
    descriptor: Lorg/apache/catalina/valves/AbstractAccessLogValve;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  protected void <init>(org.apache.catalina.valves.AbstractAccessLogValve);
    descriptor: (Lorg/apache/catalina/valves/AbstractAccessLogValve;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement this
         0: .line 1032
            aload 0 /* this */
            aload 1
            aconst_null
            invokespecial org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.<init>:(Lorg/apache/catalina/valves/AbstractAccessLogValve;Ljava/lang/String;)V
         1: .line 1033
            return
        end local 0 // org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/valves/AbstractAccessLogValve$DateAndTimeElement;
    MethodParameters:
        Name  Flags
      this$0  final

  private java.lang.String tidyFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement this
        start local 1 // java.lang.String format
         0: .line 1043
            iconst_0
            istore 2 /* escape */
        start local 2 // boolean escape
         1: .line 1044
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* result */
        start local 3 // java.lang.StringBuilder result
         2: .line 1045
            aload 1 /* format */
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         3: .line 1047
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 16
         5: .line 1048
      StackMap locals: org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement java.lang.String int java.lang.StringBuilder int top int
      StackMap stack:
            aload 1 /* format */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* x */
        start local 5 // char x
         6: .line 1049
            iload 2 /* escape */
            ifne 7
            iload 5 /* x */
            bipush 83
            if_icmpeq 9
         7: .line 1050
      StackMap locals: org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement java.lang.String int java.lang.StringBuilder int int int
      StackMap stack:
            aload 3 /* result */
            iload 5 /* x */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 1051
            goto 11
         9: .line 1052
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            ldc "{#}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1053
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.usesMsecs:Z
        11: .line 1055
      StackMap locals:
      StackMap stack:
            iload 5 /* x */
            bipush 39
            if_icmpne 15
        12: .line 1056
            iload 2 /* escape */
            ifeq 13
            iconst_0
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_1
      StackMap locals:
      StackMap stack: int
        14: istore 2 /* escape */
        15: .line 1047
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        end local 5 // char x
      StackMap locals: org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement java.lang.String int java.lang.StringBuilder int top int
      StackMap stack:
        16: iload 6 /* i */
            iload 4 /* len */
            if_icmplt 5
        end local 6 // int i
        17: .line 1059
            aload 3 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int len
        end local 3 // java.lang.StringBuilder result
        end local 2 // boolean escape
        end local 1 // java.lang.String format
        end local 0 // org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/apache/catalina/valves/AbstractAccessLogValve$DateAndTimeElement;
            0   18     1  format  Ljava/lang/String;
            1   18     2  escape  Z
            2   18     3  result  Ljava/lang/StringBuilder;
            3   18     4     len  I
            6   16     5       x  C
            4   17     6       i  I
    MethodParameters:
        Name  Flags
      format  

  protected void <init>(org.apache.catalina.valves.AbstractAccessLogValve, java.lang.String);
    descriptor: (Lorg/apache/catalina/valves/AbstractAccessLogValve;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement this
        start local 2 // java.lang.String header
         0: .line 1062
            aload 0 /* this */
            aload 1
            putfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.this$0:Lorg/apache/catalina/valves/AbstractAccessLogValve;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1029
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.usesMsecs:Z
         2: .line 1063
            aload 2 /* header */
            astore 3 /* format */
        start local 3 // java.lang.String format
         3: .line 1064
            iconst_0
            istore 4 /* usesBegin */
        start local 4 // boolean usesBegin
         4: .line 1065
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.CLF:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            astore 5 /* type */
        start local 5 // org.apache.catalina.valves.AbstractAccessLogValve$FormatType type
         5: .line 1067
            aload 3 /* format */
            ifnull 35
         6: .line 1068
            aload 3 /* format */
            ldc "begin"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 1069
            iconst_1
            istore 4 /* usesBegin */
         8: .line 1070
            ldc ""
            astore 3 /* format */
         9: .line 1071
            goto 21
      StackMap locals: org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement org.apache.catalina.valves.AbstractAccessLogValve java.lang.String java.lang.String int org.apache.catalina.valves.AbstractAccessLogValve$FormatType
      StackMap stack:
        10: aload 3 /* format */
            ldc "begin:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        11: .line 1072
            iconst_1
            istore 4 /* usesBegin */
        12: .line 1073
            aload 3 /* format */
            bipush 6
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* format */
        13: .line 1074
            goto 21
      StackMap locals:
      StackMap stack:
        14: aload 3 /* format */
            ldc "end"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        15: .line 1075
            iconst_0
            istore 4 /* usesBegin */
        16: .line 1076
            ldc ""
            astore 3 /* format */
        17: .line 1077
            goto 21
      StackMap locals:
      StackMap stack:
        18: aload 3 /* format */
            ldc "end:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        19: .line 1078
            iconst_0
            istore 4 /* usesBegin */
        20: .line 1079
            aload 3 /* format */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* format */
        21: .line 1081
      StackMap locals:
      StackMap stack:
            aload 3 /* format */
            invokevirtual java.lang.String.length:()I
            ifne 24
        22: .line 1082
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.CLF:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            astore 5 /* type */
        23: .line 1083
            goto 35
      StackMap locals:
      StackMap stack:
        24: aload 3 /* format */
            ldc "sec"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        25: .line 1084
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.SEC:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            astore 5 /* type */
        26: .line 1085
            goto 35
      StackMap locals:
      StackMap stack:
        27: aload 3 /* format */
            ldc "msec"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 1086
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.MSEC:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            astore 5 /* type */
        29: .line 1087
            goto 35
      StackMap locals:
      StackMap stack:
        30: aload 3 /* format */
            ldc "msec_frac"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 1088
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.MSEC_FRAC:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            astore 5 /* type */
        32: .line 1089
            goto 35
        33: .line 1090
      StackMap locals:
      StackMap stack:
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.SDF:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            astore 5 /* type */
        34: .line 1091
            aload 0 /* this */
            aload 3 /* format */
            invokevirtual org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.tidyFormat:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* format */
        35: .line 1094
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* format */
            putfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.format:Ljava/lang/String;
        36: .line 1095
            aload 0 /* this */
            iload 4 /* usesBegin */
            putfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.usesBegin:Z
        37: .line 1096
            aload 0 /* this */
            aload 5 /* type */
            putfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.type:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
        38: .line 1097
            return
        end local 5 // org.apache.catalina.valves.AbstractAccessLogValve$FormatType type
        end local 4 // boolean usesBegin
        end local 3 // java.lang.String format
        end local 2 // java.lang.String header
        end local 0 // org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   39     0       this  Lorg/apache/catalina/valves/AbstractAccessLogValve$DateAndTimeElement;
            0   39     2     header  Ljava/lang/String;
            3   39     3     format  Ljava/lang/String;
            4   39     4  usesBegin  Z
            5   39     5       type  Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
    MethodParameters:
        Name  Flags
      this$0  final
      header  

  public void addElement(java.io.CharArrayWriter, java.util.Date, org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, long);
    descriptor: (Ljava/io/CharArrayWriter;Ljava/util/Date;Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=6
        start local 0 // org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement this
        start local 1 // java.io.CharArrayWriter buf
        start local 2 // java.util.Date date
        start local 3 // org.apache.catalina.connector.Request request
        start local 4 // org.apache.catalina.connector.Response response
        start local 5 // long time
         0: .line 1102
            aload 2 /* date */
            invokevirtual java.util.Date.getTime:()J
            lstore 7 /* timestamp */
        start local 7 // long timestamp
         1: .line 1104
            aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.usesBegin:Z
            ifne 3
         2: .line 1105
            lload 7 /* timestamp */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 5 /* time */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            ladd
            lstore 7 /* timestamp */
         3: .line 1116
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.type:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.CLF:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            if_acmpne 6
         4: .line 1117
            aload 1 /* buf */
            getstatic org.apache.catalina.valves.AbstractAccessLogValve.localDateCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.apache.catalina.valves.AbstractAccessLogValve$DateFormatCache
            lload 7 /* timestamp */
            invokevirtual org.apache.catalina.valves.AbstractAccessLogValve$DateFormatCache.getFormat:(J)Ljava/lang/String;
            invokevirtual java.io.CharArrayWriter.append:(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;
            pop
         5: .line 1118
            goto 36
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.type:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.SEC:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            if_acmpne 9
         7: .line 1119
            aload 1 /* buf */
            lload 7 /* timestamp */
            ldc 1000
            ldiv
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.io.CharArrayWriter.append:(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;
            pop
         8: .line 1120
            goto 36
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.type:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.MSEC:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            if_acmpne 12
        10: .line 1121
            aload 1 /* buf */
            lload 7 /* timestamp */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.io.CharArrayWriter.append:(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;
            pop
        11: .line 1122
            goto 36
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.type:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            getstatic org.apache.catalina.valves.AbstractAccessLogValve$FormatType.MSEC_FRAC:Lorg/apache/catalina/valves/AbstractAccessLogValve$FormatType;
            if_acmpne 22
        13: .line 1123
            lload 7 /* timestamp */
            ldc 1000
            lrem
            lstore 9 /* frac */
        start local 9 // long frac
        14: .line 1124
            lload 9 /* frac */
            ldc 100
            lcmp
            ifge 20
        15: .line 1125
            lload 9 /* frac */
            ldc 10
            lcmp
            ifge 19
        16: .line 1126
            aload 1 /* buf */
            bipush 48
            invokevirtual java.io.CharArrayWriter.append:(C)Ljava/io/CharArrayWriter;
            pop
        17: .line 1127
            aload 1 /* buf */
            bipush 48
            invokevirtual java.io.CharArrayWriter.append:(C)Ljava/io/CharArrayWriter;
            pop
        18: .line 1128
            goto 20
        19: .line 1129
      StackMap locals: long
      StackMap stack:
            aload 1 /* buf */
            bipush 48
            invokevirtual java.io.CharArrayWriter.append:(C)Ljava/io/CharArrayWriter;
            pop
        20: .line 1132
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            lload 9 /* frac */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.io.CharArrayWriter.append:(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;
            pop
        21: .line 1133
            goto 36
        end local 9 // long frac
        22: .line 1135
      StackMap locals:
      StackMap stack:
            getstatic org.apache.catalina.valves.AbstractAccessLogValve.localDateCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.apache.catalina.valves.AbstractAccessLogValve$DateFormatCache
            aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.format:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.this$0:Lorg/apache/catalina/valves/AbstractAccessLogValve;
            getfield org.apache.catalina.valves.AbstractAccessLogValve.locale:Ljava/util/Locale;
            lload 7 /* timestamp */
            invokevirtual org.apache.catalina.valves.AbstractAccessLogValve$DateFormatCache.getFormat:(Ljava/lang/String;Ljava/util/Locale;J)Ljava/lang/String;
            astore 11 /* temp */
        start local 11 // java.lang.String temp
        23: .line 1136
            aload 0 /* this */
            getfield org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement.usesMsecs:Z
            ifeq 35
        24: .line 1137
            lload 7 /* timestamp */
            ldc 1000
            lrem
            lstore 9 /* frac */
        start local 9 // long frac
        25: .line 1138
            new java.lang.StringBuilder
            dup
            iconst_4
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 12 /* tripleMsec */
        start local 12 // java.lang.StringBuilder tripleMsec
        26: .line 1139
            lload 9 /* frac */
            ldc 100
            lcmp
            ifge 32
        27: .line 1140
            lload 9 /* frac */
            ldc 10
            lcmp
            ifge 31
        28: .line 1141
            aload 12 /* tripleMsec */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 1142
            aload 12 /* tripleMsec */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 1143
            goto 32
        31: .line 1144
      StackMap locals: long java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 12 /* tripleMsec */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 1147
      StackMap locals:
      StackMap stack:
            aload 12 /* tripleMsec */
            lload 9 /* frac */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        33: .line 1148
            aload 11 /* temp */
            ldc "{#}{#}{#}"
            aload 12 /* tripleMsec */
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 11 /* temp */
        34: .line 1149
            aload 11 /* temp */
            ldc "{#}"
            lload 9 /* frac */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 11 /* temp */
        end local 12 // java.lang.StringBuilder tripleMsec
        end local 9 // long frac
        35: .line 1151
      StackMap locals: org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement java.io.CharArrayWriter java.util.Date org.apache.catalina.connector.Request org.apache.catalina.connector.Response long long top top java.lang.String
      StackMap stack:
            aload 1 /* buf */
            aload 11 /* temp */
            invokevirtual java.io.CharArrayWriter.append:(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;
            pop
        end local 11 // java.lang.String temp
        36: .line 1153
      StackMap locals: org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement java.io.CharArrayWriter java.util.Date org.apache.catalina.connector.Request org.apache.catalina.connector.Response long long
      StackMap stack:
            return
        end local 7 // long timestamp
        end local 5 // long time
        end local 4 // org.apache.catalina.connector.Response response
        end local 3 // org.apache.catalina.connector.Request request
        end local 2 // java.util.Date date
        end local 1 // java.io.CharArrayWriter buf
        end local 0 // org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   37     0        this  Lorg/apache/catalina/valves/AbstractAccessLogValve$DateAndTimeElement;
            0   37     1         buf  Ljava/io/CharArrayWriter;
            0   37     2        date  Ljava/util/Date;
            0   37     3     request  Lorg/apache/catalina/connector/Request;
            0   37     4    response  Lorg/apache/catalina/connector/Response;
            0   37     5        time  J
            1   37     7   timestamp  J
           14   22     9        frac  J
           25   35     9        frac  J
           23   36    11        temp  Ljava/lang/String;
           26   35    12  tripleMsec  Ljava/lang/StringBuilder;
    MethodParameters:
          Name  Flags
      buf       
      date      
      request   
      response  
      time      
}
SourceFile: "AbstractAccessLogValve.java"
NestHost: org.apache.catalina.valves.AbstractAccessLogValve
InnerClasses:
  protected abstract AccessLogElement = org.apache.catalina.valves.AbstractAccessLogValve$AccessLogElement of org.apache.catalina.valves.AbstractAccessLogValve
  protected DateAndTimeElement = org.apache.catalina.valves.AbstractAccessLogValve$DateAndTimeElement of org.apache.catalina.valves.AbstractAccessLogValve
  protected DateFormatCache = org.apache.catalina.valves.AbstractAccessLogValve$DateFormatCache of org.apache.catalina.valves.AbstractAccessLogValve
  private final FormatType = org.apache.catalina.valves.AbstractAccessLogValve$FormatType of org.apache.catalina.valves.AbstractAccessLogValve