public abstract class org.apache.http.impl.io.AbstractMessageWriter<T extends org.apache.http.HttpMessage> implements org.apache.http.io.HttpMessageWriter<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.http.impl.io.AbstractMessageWriter
  super_class: java.lang.Object
{
  protected final org.apache.http.io.SessionOutputBuffer sessionBuffer;
    descriptor: Lorg/apache/http/io/SessionOutputBuffer;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.http.util.CharArrayBuffer lineBuf;
    descriptor: Lorg/apache/http/util/CharArrayBuffer;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.http.message.LineFormatter lineFormatter;
    descriptor: Lorg/apache/http/message/LineFormatter;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams);
    descriptor: (Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;Lorg/apache/http/params/HttpParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.http.impl.io.AbstractMessageWriter this
        start local 1 // org.apache.http.io.SessionOutputBuffer buffer
        start local 2 // org.apache.http.message.LineFormatter formatter
        start local 3 // org.apache.http.params.HttpParams params
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 1 /* buffer */
            ldc "Session input buffer"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 73
            aload 0 /* this */
            aload 1 /* buffer */
            putfield org.apache.http.impl.io.AbstractMessageWriter.sessionBuffer:Lorg/apache/http/io/SessionOutputBuffer;
         3: .line 74
            aload 0 /* this */
            new org.apache.http.util.CharArrayBuffer
            dup
            sipush 128
            invokespecial org.apache.http.util.CharArrayBuffer.<init>:(I)V
            putfield org.apache.http.impl.io.AbstractMessageWriter.lineBuf:Lorg/apache/http/util/CharArrayBuffer;
         4: .line 75
            aload 0 /* this */
            aload 2 /* formatter */
            ifnull 5
            aload 2 /* formatter */
            goto 6
      StackMap locals: org.apache.http.impl.io.AbstractMessageWriter org.apache.http.io.SessionOutputBuffer org.apache.http.message.LineFormatter org.apache.http.params.HttpParams
      StackMap stack: org.apache.http.impl.io.AbstractMessageWriter
         5: getstatic org.apache.http.message.BasicLineFormatter.INSTANCE:Lorg/apache/http/message/BasicLineFormatter;
      StackMap locals: org.apache.http.impl.io.AbstractMessageWriter org.apache.http.io.SessionOutputBuffer org.apache.http.message.LineFormatter org.apache.http.params.HttpParams
      StackMap stack: org.apache.http.impl.io.AbstractMessageWriter org.apache.http.message.LineFormatter
         6: putfield org.apache.http.impl.io.AbstractMessageWriter.lineFormatter:Lorg/apache/http/message/LineFormatter;
         7: .line 76
            return
        end local 3 // org.apache.http.params.HttpParams params
        end local 2 // org.apache.http.message.LineFormatter formatter
        end local 1 // org.apache.http.io.SessionOutputBuffer buffer
        end local 0 // org.apache.http.impl.io.AbstractMessageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/http/impl/io/AbstractMessageWriter<TT;>;
            0    8     1     buffer  Lorg/apache/http/io/SessionOutputBuffer;
            0    8     2  formatter  Lorg/apache/http/message/LineFormatter;
            0    8     3     params  Lorg/apache/http/params/HttpParams;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      buffer     final
      formatter  final
      params     final

  public void <init>(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter);
    descriptor: (Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.http.impl.io.AbstractMessageWriter this
        start local 1 // org.apache.http.io.SessionOutputBuffer buffer
        start local 2 // org.apache.http.message.LineFormatter formatter
         0: .line 90
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            aload 1 /* buffer */
            ldc "Session input buffer"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.apache.http.io.SessionOutputBuffer
            putfield org.apache.http.impl.io.AbstractMessageWriter.sessionBuffer:Lorg/apache/http/io/SessionOutputBuffer;
         2: .line 92
            aload 0 /* this */
            aload 2 /* formatter */
            ifnull 3
            aload 2 /* formatter */
            goto 4
      StackMap locals: org.apache.http.impl.io.AbstractMessageWriter org.apache.http.io.SessionOutputBuffer org.apache.http.message.LineFormatter
      StackMap stack: org.apache.http.impl.io.AbstractMessageWriter
         3: getstatic org.apache.http.message.BasicLineFormatter.INSTANCE:Lorg/apache/http/message/BasicLineFormatter;
      StackMap locals: org.apache.http.impl.io.AbstractMessageWriter org.apache.http.io.SessionOutputBuffer org.apache.http.message.LineFormatter
      StackMap stack: org.apache.http.impl.io.AbstractMessageWriter org.apache.http.message.LineFormatter
         4: putfield org.apache.http.impl.io.AbstractMessageWriter.lineFormatter:Lorg/apache/http/message/LineFormatter;
         5: .line 93
            aload 0 /* this */
            new org.apache.http.util.CharArrayBuffer
            dup
            sipush 128
            invokespecial org.apache.http.util.CharArrayBuffer.<init>:(I)V
            putfield org.apache.http.impl.io.AbstractMessageWriter.lineBuf:Lorg/apache/http/util/CharArrayBuffer;
         6: .line 94
            return
        end local 2 // org.apache.http.message.LineFormatter formatter
        end local 1 // org.apache.http.io.SessionOutputBuffer buffer
        end local 0 // org.apache.http.impl.io.AbstractMessageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/http/impl/io/AbstractMessageWriter<TT;>;
            0    7     1     buffer  Lorg/apache/http/io/SessionOutputBuffer;
            0    7     2  formatter  Lorg/apache/http/message/LineFormatter;
    MethodParameters:
           Name  Flags
      buffer     final
      formatter  final

  protected abstract void writeHeadLine();
    descriptor: (Lorg/apache/http/HttpMessage;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (TT;)V
    MethodParameters:
         Name  Flags
      message  

  public void write();
    descriptor: (Lorg/apache/http/HttpMessage;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.http.impl.io.AbstractMessageWriter this
        start local 1 // org.apache.http.HttpMessage message
         0: .line 107
            aload 1 /* message */
            ldc "HTTP message"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 108
            aload 0 /* this */
            aload 1 /* message */
            invokevirtual org.apache.http.impl.io.AbstractMessageWriter.writeHeadLine:(Lorg/apache/http/HttpMessage;)V
         2: .line 109
            aload 1 /* message */
            invokeinterface org.apache.http.HttpMessage.headerIterator:()Lorg/apache/http/HeaderIterator;
            astore 2 /* it */
        start local 2 // org.apache.http.HeaderIterator it
         3: goto 8
         4: .line 110
      StackMap locals: org.apache.http.HeaderIterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.apache.http.HeaderIterator.nextHeader:()Lorg/apache/http/Header;
            astore 3 /* header */
        start local 3 // org.apache.http.Header header
         5: .line 111
            aload 0 /* this */
            getfield org.apache.http.impl.io.AbstractMessageWriter.sessionBuffer:Lorg/apache/http/io/SessionOutputBuffer;
         6: .line 112
            aload 0 /* this */
            getfield org.apache.http.impl.io.AbstractMessageWriter.lineFormatter:Lorg/apache/http/message/LineFormatter;
            aload 0 /* this */
            getfield org.apache.http.impl.io.AbstractMessageWriter.lineBuf:Lorg/apache/http/util/CharArrayBuffer;
            aload 3 /* header */
            invokeinterface org.apache.http.message.LineFormatter.formatHeader:(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/Header;)Lorg/apache/http/util/CharArrayBuffer;
         7: .line 111
            invokeinterface org.apache.http.io.SessionOutputBuffer.writeLine:(Lorg/apache/http/util/CharArrayBuffer;)V
        end local 3 // org.apache.http.Header header
         8: .line 109
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.apache.http.HeaderIterator.hasNext:()Z
            ifne 4
        end local 2 // org.apache.http.HeaderIterator it
         9: .line 114
            aload 0 /* this */
            getfield org.apache.http.impl.io.AbstractMessageWriter.lineBuf:Lorg/apache/http/util/CharArrayBuffer;
            invokevirtual org.apache.http.util.CharArrayBuffer.clear:()V
        10: .line 115
            aload 0 /* this */
            getfield org.apache.http.impl.io.AbstractMessageWriter.sessionBuffer:Lorg/apache/http/io/SessionOutputBuffer;
            aload 0 /* this */
            getfield org.apache.http.impl.io.AbstractMessageWriter.lineBuf:Lorg/apache/http/util/CharArrayBuffer;
            invokeinterface org.apache.http.io.SessionOutputBuffer.writeLine:(Lorg/apache/http/util/CharArrayBuffer;)V
        11: .line 116
            return
        end local 1 // org.apache.http.HttpMessage message
        end local 0 // org.apache.http.impl.io.AbstractMessageWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/http/impl/io/AbstractMessageWriter<TT;>;
            0   12     1  message  TT;
            3    9     2       it  Lorg/apache/http/HeaderIterator;
            5    8     3   header  Lorg/apache/http/Header;
    Exceptions:
      throws java.io.IOException, org.apache.http.HttpException
    Signature: (TT;)V
    MethodParameters:
         Name  Flags
      message  final
}
Signature: <T::Lorg/apache/http/HttpMessage;>Ljava/lang/Object;Lorg/apache/http/io/HttpMessageWriter<TT;>;
SourceFile: "AbstractMessageWriter.java"