public class org.apache.logging.log4j.core.layout.TextEncoderHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.logging.log4j.core.layout.TextEncoderHelper
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.layout.TextEncoderHelper this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 34
            return
        end local 0 // org.apache.logging.log4j.core.layout.TextEncoderHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/layout/TextEncoderHelper;

  static void encodeTextFallBack(java.nio.charset.Charset, java.lang.StringBuilder, org.apache.logging.log4j.core.layout.ByteBufferDestination);
    descriptor: (Ljava/nio/charset/Charset;Ljava/lang/StringBuilder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.nio.charset.Charset charset
        start local 1 // java.lang.StringBuilder text
        start local 2 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
         0: .line 38
            aload 1 /* text */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* charset */
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         1: .line 39
            aload 2 /* destination */
            aload 3 /* bytes */
            iconst_0
            aload 3 /* bytes */
            arraylength
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.writeBytes:([BII)V
         2: .line 40
            return
        end local 3 // byte[] bytes
        end local 2 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 1 // java.lang.StringBuilder text
        end local 0 // java.nio.charset.Charset charset
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0      charset  Ljava/nio/charset/Charset;
            0    3     1         text  Ljava/lang/StringBuilder;
            0    3     2  destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            1    3     3        bytes  [B
    MethodParameters:
             Name  Flags
      charset      final
      text         final
      destination  final

  static void encodeText(java.nio.charset.CharsetEncoder, java.nio.CharBuffer, java.nio.ByteBuffer, java.lang.StringBuilder, org.apache.logging.log4j.core.layout.ByteBufferDestination);
    descriptor: (Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Ljava/lang/StringBuilder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.nio.charset.CharsetEncoder charsetEncoder
        start local 1 // java.nio.CharBuffer charBuf
        start local 2 // java.nio.ByteBuffer byteBuf
        start local 3 // java.lang.StringBuilder text
        start local 4 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
         0: .line 56
            aload 0 /* charsetEncoder */
            invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
            pop
         1: .line 57
            aload 3 /* text */
            invokevirtual java.lang.StringBuilder.length:()I
            aload 1 /* charBuf */
            invokevirtual java.nio.CharBuffer.capacity:()I
            if_icmple 4
         2: .line 58
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 2 /* byteBuf */
            aload 3 /* text */
            aload 4 /* destination */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.encodeChunkedText:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Ljava/lang/StringBuilder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
         3: .line 59
            return
         4: .line 61
      StackMap locals:
      StackMap stack:
            aload 1 /* charBuf */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
         5: .line 62
            aload 3 /* text */
            iconst_0
            aload 3 /* text */
            invokevirtual java.lang.StringBuilder.length:()I
            aload 1 /* charBuf */
            invokevirtual java.nio.CharBuffer.array:()[C
            aload 1 /* charBuf */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            invokevirtual java.lang.StringBuilder.getChars:(II[CI)V
         6: .line 63
            aload 1 /* charBuf */
            aload 3 /* text */
            invokevirtual java.lang.StringBuilder.length:()I
            invokevirtual java.nio.CharBuffer.limit:(I)Ljava/nio/Buffer;
            pop
         7: .line 64
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 2 /* byteBuf */
            iconst_1
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 5 /* result */
        start local 5 // java.nio.charset.CoderResult result
         8: .line 65
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 2 /* byteBuf */
            aload 4 /* destination */
            aload 5 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.writeEncodedText:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/charset/CoderResult;)V
         9: .line 66
            return
        end local 5 // java.nio.charset.CoderResult result
        end local 4 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 3 // java.lang.StringBuilder text
        end local 2 // java.nio.ByteBuffer byteBuf
        end local 1 // java.nio.CharBuffer charBuf
        end local 0 // java.nio.charset.CharsetEncoder charsetEncoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0  charsetEncoder  Ljava/nio/charset/CharsetEncoder;
            0   10     1         charBuf  Ljava/nio/CharBuffer;
            0   10     2         byteBuf  Ljava/nio/ByteBuffer;
            0   10     3            text  Ljava/lang/StringBuilder;
            0   10     4     destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            8   10     5          result  Ljava/nio/charset/CoderResult;
    Exceptions:
      throws java.nio.charset.CharacterCodingException
    MethodParameters:
                Name  Flags
      charsetEncoder  final
      charBuf         final
      byteBuf         final
      text            final
      destination     final

  private static void writeEncodedText(java.nio.charset.CharsetEncoder, java.nio.CharBuffer, java.nio.ByteBuffer, org.apache.logging.log4j.core.layout.ByteBufferDestination, java.nio.charset.CoderResult);
    descriptor: (Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/charset/CoderResult;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.nio.charset.CharsetEncoder charsetEncoder
        start local 1 // java.nio.CharBuffer charBuf
        start local 2 // java.nio.ByteBuffer byteBuf
        start local 3 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        start local 4 // java.nio.charset.CoderResult result
         0: .line 78
            aload 4 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 3
         1: .line 79
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 3 /* destination */
            aload 2 /* byteBuf */
            aload 4 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.writeChunkedEncodedText:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)V
         2: .line 80
            return
         3: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* charsetEncoder */
            aload 2 /* byteBuf */
            invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            astore 4 /* result */
         4: .line 83
            aload 4 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 12
         5: .line 84
            aload 3 /* destination */
            dup
            astore 5
            monitorenter
         6: .line 85
            aload 0 /* charsetEncoder */
            aload 3 /* destination */
            aload 2 /* byteBuf */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.flushRemainingBytes:(Ljava/nio/charset/CharsetEncoder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;)V
         7: .line 84
            aload 5
            monitorexit
         8: goto 11
      StackMap locals: java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.ByteBuffer org.apache.logging.log4j.core.layout.ByteBufferDestination java.nio.charset.CoderResult org.apache.logging.log4j.core.layout.ByteBufferDestination
      StackMap stack: java.lang.Throwable
         9: aload 5
            monitorexit
        10: athrow
        11: .line 87
      StackMap locals:
      StackMap stack:
            return
        12: .line 94
      StackMap locals:
      StackMap stack:
            aload 2 /* byteBuf */
            aload 3 /* destination */
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.getByteBuffer:()Ljava/nio/ByteBuffer;
            if_acmpeq 16
        13: .line 95
            aload 2 /* byteBuf */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        14: .line 96
            aload 3 /* destination */
            aload 2 /* byteBuf */
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.writeBytes:(Ljava/nio/ByteBuffer;)V
        15: .line 97
            aload 2 /* byteBuf */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        16: .line 99
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.charset.CoderResult result
        end local 3 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 2 // java.nio.ByteBuffer byteBuf
        end local 1 // java.nio.CharBuffer charBuf
        end local 0 // java.nio.charset.CharsetEncoder charsetEncoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0  charsetEncoder  Ljava/nio/charset/CharsetEncoder;
            0   17     1         charBuf  Ljava/nio/CharBuffer;
            0   17     2         byteBuf  Ljava/nio/ByteBuffer;
            0   17     3     destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            0   17     4          result  Ljava/nio/charset/CoderResult;
      Exception table:
        from    to  target  type
           6     8       9  any
           9    10       9  any
    MethodParameters:
                Name  Flags
      charsetEncoder  final
      charBuf         final
      byteBuf         final
      destination     final
      result          

  private static void writeChunkedEncodedText(java.nio.charset.CharsetEncoder, java.nio.CharBuffer, org.apache.logging.log4j.core.layout.ByteBufferDestination, java.nio.ByteBuffer, java.nio.charset.CoderResult);
    descriptor: (Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // java.nio.charset.CharsetEncoder charsetEncoder
        start local 1 // java.nio.CharBuffer charBuf
        start local 2 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        start local 3 // java.nio.ByteBuffer byteBuf
        start local 4 // java.nio.charset.CoderResult result
         0: .line 111
            aload 2 /* destination */
            dup
            astore 5
            monitorenter
         1: .line 112
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            iconst_1
            aload 2 /* destination */
            aload 3 /* byteBuf */
         2: .line 113
            aload 4 /* result */
         3: .line 112
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.writeAndEncodeAsMuchAsPossible:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;ZLorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)Ljava/nio/ByteBuffer;
            astore 3 /* byteBuf */
         4: .line 114
            aload 0 /* charsetEncoder */
            aload 2 /* destination */
            aload 3 /* byteBuf */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.flushRemainingBytes:(Ljava/nio/charset/CharsetEncoder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;)V
         5: .line 111
            aload 5
            monitorexit
         6: goto 9
      StackMap locals: java.nio.charset.CharsetEncoder java.nio.CharBuffer org.apache.logging.log4j.core.layout.ByteBufferDestination java.nio.ByteBuffer java.nio.charset.CoderResult org.apache.logging.log4j.core.layout.ByteBufferDestination
      StackMap stack: java.lang.Throwable
         7: aload 5
            monitorexit
         8: athrow
         9: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.charset.CoderResult result
        end local 3 // java.nio.ByteBuffer byteBuf
        end local 2 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 1 // java.nio.CharBuffer charBuf
        end local 0 // java.nio.charset.CharsetEncoder charsetEncoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0  charsetEncoder  Ljava/nio/charset/CharsetEncoder;
            0   10     1         charBuf  Ljava/nio/CharBuffer;
            0   10     2     destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            0   10     3         byteBuf  Ljava/nio/ByteBuffer;
            0   10     4          result  Ljava/nio/charset/CoderResult;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
                Name  Flags
      charsetEncoder  final
      charBuf         final
      destination     final
      byteBuf         
      result          final

  private static void encodeChunkedText(java.nio.charset.CharsetEncoder, java.nio.CharBuffer, java.nio.ByteBuffer, java.lang.StringBuilder, org.apache.logging.log4j.core.layout.ByteBufferDestination);
    descriptor: (Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Ljava/lang/StringBuilder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // java.nio.charset.CharsetEncoder charsetEncoder
        start local 1 // java.nio.CharBuffer charBuf
        start local 2 // java.nio.ByteBuffer byteBuf
        start local 3 // java.lang.StringBuilder text
        start local 4 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
         0: .line 131
            iconst_0
            istore 5 /* start */
        start local 5 // int start
         1: .line 132
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 6 /* result */
        start local 6 // java.nio.charset.CoderResult result
         2: .line 133
            iconst_0
            istore 7 /* endOfInput */
        start local 7 // boolean endOfInput
         3: .line 134
            goto 12
         4: .line 135
      StackMap locals: int java.nio.charset.CoderResult int
      StackMap stack:
            aload 1 /* charBuf */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
         5: .line 136
            aload 3 /* text */
            iload 5 /* start */
            aload 1 /* charBuf */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.copy:(Ljava/lang/StringBuilder;ILjava/nio/CharBuffer;)I
            istore 8 /* copied */
        start local 8 // int copied
         6: .line 137
            iload 5 /* start */
            iload 8 /* copied */
            iadd
            istore 5 /* start */
         7: .line 138
            iload 5 /* start */
            aload 3 /* text */
            invokevirtual java.lang.StringBuilder.length:()I
            if_icmplt 8
            iconst_1
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 7 /* endOfInput */
        10: .line 139
            aload 1 /* charBuf */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            pop
        11: .line 140
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 2 /* byteBuf */
            iload 7 /* endOfInput */
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 6 /* result */
        end local 8 // int copied
        12: .line 134
      StackMap locals:
      StackMap stack:
            iload 7 /* endOfInput */
            ifne 13
            aload 6 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 4
        13: .line 142
      StackMap locals:
      StackMap stack:
            iload 7 /* endOfInput */
            ifeq 16
        14: .line 143
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 2 /* byteBuf */
            aload 4 /* destination */
            aload 6 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.writeEncodedText:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/charset/CoderResult;)V
        15: .line 144
            return
        16: .line 146
      StackMap locals:
      StackMap stack:
            aload 4 /* destination */
            dup
            astore 8
            monitorenter
        17: .line 147
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            iload 7 /* endOfInput */
            aload 4 /* destination */
            aload 2 /* byteBuf */
        18: .line 148
            aload 6 /* result */
        19: .line 147
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.writeAndEncodeAsMuchAsPossible:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;ZLorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)Ljava/nio/ByteBuffer;
            astore 2 /* byteBuf */
        20: .line 149
            goto 35
        21: .line 150
      StackMap locals: org.apache.logging.log4j.core.layout.ByteBufferDestination
      StackMap stack:
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 6 /* result */
        22: .line 151
            goto 31
        23: .line 152
      StackMap locals:
      StackMap stack:
            aload 1 /* charBuf */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
        24: .line 153
            aload 3 /* text */
            iload 5 /* start */
            aload 1 /* charBuf */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.copy:(Ljava/lang/StringBuilder;ILjava/nio/CharBuffer;)I
            istore 9 /* copied */
        start local 9 // int copied
        25: .line 154
            iload 5 /* start */
            iload 9 /* copied */
            iadd
            istore 5 /* start */
        26: .line 155
            iload 5 /* start */
            aload 3 /* text */
            invokevirtual java.lang.StringBuilder.length:()I
            if_icmplt 27
            iconst_1
            goto 28
      StackMap locals: int
      StackMap stack:
        27: iconst_0
      StackMap locals:
      StackMap stack: int
        28: istore 7 /* endOfInput */
        29: .line 156
            aload 1 /* charBuf */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            pop
        30: .line 157
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 2 /* byteBuf */
            iload 7 /* endOfInput */
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 6 /* result */
        end local 9 // int copied
        31: .line 151
      StackMap locals:
      StackMap stack:
            iload 7 /* endOfInput */
            ifne 32
            aload 6 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 23
        32: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            iload 7 /* endOfInput */
            aload 4 /* destination */
            aload 2 /* byteBuf */
        33: .line 160
            aload 6 /* result */
        34: .line 159
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.writeAndEncodeAsMuchAsPossible:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;ZLorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)Ljava/nio/ByteBuffer;
            astore 2 /* byteBuf */
        35: .line 149
      StackMap locals:
      StackMap stack:
            iload 7 /* endOfInput */
            ifeq 21
        36: .line 162
            aload 0 /* charsetEncoder */
            aload 4 /* destination */
            aload 2 /* byteBuf */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.flushRemainingBytes:(Ljava/nio/charset/CharsetEncoder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;)V
        37: .line 146
            aload 8
            monitorexit
        38: goto 41
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: aload 8
            monitorexit
        40: athrow
        41: .line 164
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean endOfInput
        end local 6 // java.nio.charset.CoderResult result
        end local 5 // int start
        end local 4 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 3 // java.lang.StringBuilder text
        end local 2 // java.nio.ByteBuffer byteBuf
        end local 1 // java.nio.CharBuffer charBuf
        end local 0 // java.nio.charset.CharsetEncoder charsetEncoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   42     0  charsetEncoder  Ljava/nio/charset/CharsetEncoder;
            0   42     1         charBuf  Ljava/nio/CharBuffer;
            0   42     2         byteBuf  Ljava/nio/ByteBuffer;
            0   42     3            text  Ljava/lang/StringBuilder;
            0   42     4     destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            1   42     5           start  I
            2   42     6          result  Ljava/nio/charset/CoderResult;
            3   42     7      endOfInput  Z
            6   12     8          copied  I
           25   31     9          copied  I
      Exception table:
        from    to  target  type
          17    38      39  any
          39    40      39  any
    MethodParameters:
                Name  Flags
      charsetEncoder  final
      charBuf         final
      byteBuf         
      text            final
      destination     final

  public static void encodeText(java.nio.charset.CharsetEncoder, java.nio.CharBuffer, org.apache.logging.log4j.core.layout.ByteBufferDestination);
    descriptor: (Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.nio.charset.CharsetEncoder charsetEncoder
        start local 1 // java.nio.CharBuffer charBuf
        start local 2 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
         0: .line 172
            aload 0 /* charsetEncoder */
            invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
            pop
         1: .line 173
            aload 2 /* destination */
            dup
            astore 3
            monitorenter
         2: .line 174
            aload 2 /* destination */
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.getByteBuffer:()Ljava/nio/ByteBuffer;
            astore 4 /* byteBuf */
        start local 4 // java.nio.ByteBuffer byteBuf
         3: .line 175
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            iconst_1
            aload 2 /* destination */
            aload 4 /* byteBuf */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.encodeAsMuchAsPossible:(Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;ZLorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            astore 4 /* byteBuf */
         4: .line 176
            aload 0 /* charsetEncoder */
            aload 2 /* destination */
            aload 4 /* byteBuf */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.flushRemainingBytes:(Ljava/nio/charset/CharsetEncoder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;)V
        end local 4 // java.nio.ByteBuffer byteBuf
         5: .line 173
            aload 3
            monitorexit
         6: goto 9
      StackMap locals: java.nio.charset.CharsetEncoder java.nio.CharBuffer org.apache.logging.log4j.core.layout.ByteBufferDestination org.apache.logging.log4j.core.layout.ByteBufferDestination
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 178
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 1 // java.nio.CharBuffer charBuf
        end local 0 // java.nio.charset.CharsetEncoder charsetEncoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0  charsetEncoder  Ljava/nio/charset/CharsetEncoder;
            0   10     1         charBuf  Ljava/nio/CharBuffer;
            0   10     2     destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            3    5     4         byteBuf  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           2     6       7  any
           7     8       7  any
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      charsetEncoder  final
      charBuf         final
      destination     final

  private static java.nio.ByteBuffer writeAndEncodeAsMuchAsPossible(java.nio.charset.CharsetEncoder, java.nio.CharBuffer, boolean, org.apache.logging.log4j.core.layout.ByteBufferDestination, java.nio.ByteBuffer, java.nio.charset.CoderResult);
    descriptor: (Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;ZLorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // java.nio.charset.CharsetEncoder charsetEncoder
        start local 1 // java.nio.CharBuffer charBuf
        start local 2 // boolean endOfInput
        start local 3 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        start local 4 // java.nio.ByteBuffer temp
        start local 5 // java.nio.charset.CoderResult result
         0: .line 199
      StackMap locals:
      StackMap stack:
            aload 3 /* destination */
            aload 4 /* temp */
            aload 5 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.drainIfByteBufferFull:(Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)Ljava/nio/ByteBuffer;
            astore 4 /* temp */
         1: .line 200
            aload 5 /* result */
            invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
            ifne 3
         2: .line 201
            goto 5
         3: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 4 /* temp */
            iload 2 /* endOfInput */
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 5 /* result */
         4: .line 198
            goto 0
         5: .line 205
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 7
         6: .line 206
            aload 5 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.throwException:(Ljava/nio/charset/CoderResult;)V
         7: .line 208
      StackMap locals:
      StackMap stack:
            aload 4 /* temp */
            areturn
        end local 5 // java.nio.charset.CoderResult result
        end local 4 // java.nio.ByteBuffer temp
        end local 3 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 2 // boolean endOfInput
        end local 1 // java.nio.CharBuffer charBuf
        end local 0 // java.nio.charset.CharsetEncoder charsetEncoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0  charsetEncoder  Ljava/nio/charset/CharsetEncoder;
            0    8     1         charBuf  Ljava/nio/CharBuffer;
            0    8     2      endOfInput  Z
            0    8     3     destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            0    8     4            temp  Ljava/nio/ByteBuffer;
            0    8     5          result  Ljava/nio/charset/CoderResult;
    MethodParameters:
                Name  Flags
      charsetEncoder  final
      charBuf         final
      endOfInput      final
      destination     final
      temp            
      result          

  private static void throwException(java.nio.charset.CoderResult);
    descriptor: (Ljava/nio/charset/CoderResult;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.nio.charset.CoderResult result
         0: .line 214
            aload 0 /* result */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
         1: .line 215
            goto 4
      StackMap locals:
      StackMap stack: java.nio.charset.CharacterCodingException
         2: astore 1 /* e */
        start local 1 // java.nio.charset.CharacterCodingException e
         3: .line 216
            new java.lang.IllegalStateException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.nio.charset.CharacterCodingException e
         4: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.nio.charset.CoderResult result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  result  Ljava/nio/charset/CoderResult;
            3    4     1       e  Ljava/nio/charset/CharacterCodingException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.nio.charset.CharacterCodingException
    MethodParameters:
        Name  Flags
      result  final

  private static java.nio.ByteBuffer encodeAsMuchAsPossible(java.nio.charset.CharsetEncoder, java.nio.CharBuffer, boolean, org.apache.logging.log4j.core.layout.ByteBufferDestination, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/charset/CharsetEncoder;Ljava/nio/CharBuffer;ZLorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // java.nio.charset.CharsetEncoder charsetEncoder
        start local 1 // java.nio.CharBuffer charBuf
        start local 2 // boolean endOfInput
        start local 3 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        start local 4 // java.nio.ByteBuffer temp
         0: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* charsetEncoder */
            aload 1 /* charBuf */
            aload 4 /* temp */
            iload 2 /* endOfInput */
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 5 /* result */
        start local 5 // java.nio.charset.CoderResult result
         1: .line 225
            aload 3 /* destination */
            aload 4 /* temp */
            aload 5 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.drainIfByteBufferFull:(Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)Ljava/nio/ByteBuffer;
            astore 4 /* temp */
         2: .line 226
            aload 5 /* result */
            invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
            ifne 0
         3: .line 227
            aload 5 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 5
         4: .line 228
            aload 5 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.throwException:(Ljava/nio/charset/CoderResult;)V
         5: .line 230
      StackMap locals: java.nio.charset.CoderResult
      StackMap stack:
            aload 4 /* temp */
            areturn
        end local 5 // java.nio.charset.CoderResult result
        end local 4 // java.nio.ByteBuffer temp
        end local 3 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 2 // boolean endOfInput
        end local 1 // java.nio.CharBuffer charBuf
        end local 0 // java.nio.charset.CharsetEncoder charsetEncoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0  charsetEncoder  Ljava/nio/charset/CharsetEncoder;
            0    6     1         charBuf  Ljava/nio/CharBuffer;
            0    6     2      endOfInput  Z
            0    6     3     destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            0    6     4            temp  Ljava/nio/ByteBuffer;
            1    6     5          result  Ljava/nio/charset/CoderResult;
    MethodParameters:
                Name  Flags
      charsetEncoder  final
      charBuf         final
      endOfInput      final
      destination     final
      temp            

  private static java.nio.ByteBuffer drainIfByteBufferFull(org.apache.logging.log4j.core.layout.ByteBufferDestination, java.nio.ByteBuffer, java.nio.charset.CoderResult);
    descriptor: (Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        start local 1 // java.nio.ByteBuffer temp
        start local 2 // java.nio.charset.CoderResult result
         0: .line 249
            aload 2 /* result */
            invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
            ifeq 13
         1: .line 252
            aload 0 /* destination */
            dup
            astore 3
            monitorenter
         2: .line 253
            aload 0 /* destination */
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.getByteBuffer:()Ljava/nio/ByteBuffer;
            astore 4 /* destinationBuffer */
        start local 4 // java.nio.ByteBuffer destinationBuffer
         3: .line 254
            aload 4 /* destinationBuffer */
            aload 1 /* temp */
            if_acmpeq 9
         4: .line 255
            aload 1 /* temp */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         5: .line 256
            aload 1 /* temp */
            aload 0 /* destination */
            invokestatic org.apache.logging.log4j.core.layout.ByteBufferDestinationHelper.writeToUnsynchronized:(Ljava/nio/ByteBuffer;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
         6: .line 257
            aload 1 /* temp */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
         7: .line 258
            aload 0 /* destination */
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.getByteBuffer:()Ljava/nio/ByteBuffer;
            aload 3
            monitorexit
         8: areturn
         9: .line 260
      StackMap locals: org.apache.logging.log4j.core.layout.ByteBufferDestination java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* destination */
            aload 4 /* destinationBuffer */
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.drain:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            aload 3
            monitorexit
        10: areturn
        end local 4 // java.nio.ByteBuffer destinationBuffer
        11: .line 252
      StackMap locals: org.apache.logging.log4j.core.layout.ByteBufferDestination java.nio.ByteBuffer java.nio.charset.CoderResult org.apache.logging.log4j.core.layout.ByteBufferDestination
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        12: athrow
        13: .line 264
      StackMap locals:
      StackMap stack:
            aload 1 /* temp */
            areturn
        end local 2 // java.nio.charset.CoderResult result
        end local 1 // java.nio.ByteBuffer temp
        end local 0 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0        destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            0   14     1               temp  Ljava/nio/ByteBuffer;
            0   14     2             result  Ljava/nio/charset/CoderResult;
            3   11     4  destinationBuffer  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           2     8      11  any
           9    10      11  any
          11    12      11  any
    MethodParameters:
             Name  Flags
      destination  final
      temp         final
      result       final

  private static void flushRemainingBytes(java.nio.charset.CharsetEncoder, org.apache.logging.log4j.core.layout.ByteBufferDestination, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/charset/CharsetEncoder;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.nio.charset.CharsetEncoder charsetEncoder
        start local 1 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        start local 2 // java.nio.ByteBuffer temp
         0: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* charsetEncoder */
            aload 2 /* temp */
            invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            astore 3 /* result */
        start local 3 // java.nio.charset.CoderResult result
         1: .line 274
            aload 1 /* destination */
            aload 2 /* temp */
            aload 3 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.drainIfByteBufferFull:(Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;Ljava/nio/ByteBuffer;Ljava/nio/charset/CoderResult;)Ljava/nio/ByteBuffer;
            astore 2 /* temp */
         2: .line 275
            aload 3 /* result */
            invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
            ifne 0
         3: .line 276
            aload 3 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 5
         4: .line 277
            aload 3 /* result */
            invokestatic org.apache.logging.log4j.core.layout.TextEncoderHelper.throwException:(Ljava/nio/charset/CoderResult;)V
         5: .line 279
      StackMap locals: java.nio.charset.CoderResult
      StackMap stack:
            aload 2 /* temp */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifle 9
            aload 2 /* temp */
            aload 1 /* destination */
            invokeinterface org.apache.logging.log4j.core.layout.ByteBufferDestination.getByteBuffer:()Ljava/nio/ByteBuffer;
            if_acmpeq 9
         6: .line 280
            aload 2 /* temp */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         7: .line 281
            aload 2 /* temp */
            aload 1 /* destination */
            invokestatic org.apache.logging.log4j.core.layout.ByteBufferDestinationHelper.writeToUnsynchronized:(Ljava/nio/ByteBuffer;Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;)V
         8: .line 282
            aload 2 /* temp */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
         9: .line 284
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.nio.charset.CoderResult result
        end local 2 // java.nio.ByteBuffer temp
        end local 1 // org.apache.logging.log4j.core.layout.ByteBufferDestination destination
        end local 0 // java.nio.charset.CharsetEncoder charsetEncoder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0  charsetEncoder  Ljava/nio/charset/CharsetEncoder;
            0   10     1     destination  Lorg/apache/logging/log4j/core/layout/ByteBufferDestination;
            0   10     2            temp  Ljava/nio/ByteBuffer;
            1   10     3          result  Ljava/nio/charset/CoderResult;
    MethodParameters:
                Name  Flags
      charsetEncoder  final
      destination     final
      temp            

  static int copy(java.lang.StringBuilder, int, java.nio.CharBuffer);
    descriptor: (Ljava/lang/StringBuilder;ILjava/nio/CharBuffer;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // java.lang.StringBuilder source
        start local 1 // int offset
        start local 2 // java.nio.CharBuffer destination
         0: .line 294
            aload 0 /* source */
            invokevirtual java.lang.StringBuilder.length:()I
            iload 1 /* offset */
            isub
            aload 2 /* destination */
            invokevirtual java.nio.CharBuffer.remaining:()I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* length */
        start local 3 // int length
         1: .line 295
            aload 2 /* destination */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 4 /* array */
        start local 4 // char[] array
         2: .line 296
            aload 2 /* destination */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 5 /* start */
        start local 5 // int start
         3: .line 297
            aload 0 /* source */
            iload 1 /* offset */
            iload 1 /* offset */
            iload 3 /* length */
            iadd
            aload 4 /* array */
            aload 2 /* destination */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            iload 5 /* start */
            iadd
            invokevirtual java.lang.StringBuilder.getChars:(II[CI)V
         4: .line 298
            aload 2 /* destination */
            iload 5 /* start */
            iload 3 /* length */
            iadd
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
         5: .line 299
            iload 3 /* length */
            ireturn
        end local 5 // int start
        end local 4 // char[] array
        end local 3 // int length
        end local 2 // java.nio.CharBuffer destination
        end local 1 // int offset
        end local 0 // java.lang.StringBuilder source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0       source  Ljava/lang/StringBuilder;
            0    6     1       offset  I
            0    6     2  destination  Ljava/nio/CharBuffer;
            1    6     3       length  I
            2    6     4        array  [C
            3    6     5        start  I
    MethodParameters:
             Name  Flags
      source       final
      offset       final
      destination  final
}
SourceFile: "TextEncoderHelper.java"