public class io.vertx.core.http.impl.Http2ServerResponseImpl implements io.vertx.core.http.HttpServerResponse, io.vertx.core.spi.observability.HttpResponse
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.http.impl.Http2ServerResponseImpl
  super_class: java.lang.Object
{
  private final io.vertx.core.http.impl.Http2ServerStream stream;
    descriptor: Lio/vertx/core/http/impl/Http2ServerStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.channel.ChannelHandlerContext ctx;
    descriptor: Lio/netty/channel/ChannelHandlerContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.http.impl.Http2ServerConnection conn;
    descriptor: Lio/vertx/core/http/impl/Http2ServerConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private final io.netty.handler.codec.http2.Http2Headers headers;
    descriptor: Lio/netty/handler/codec/http2/Http2Headers;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.vertx.core.http.impl.headers.Http2HeadersAdaptor headersMap;
    descriptor: Lio/vertx/core/http/impl/headers/Http2HeadersAdaptor;
    flags: (0x0002) ACC_PRIVATE

  private io.netty.handler.codec.http2.Http2Headers trailers;
    descriptor: Lio/netty/handler/codec/http2/Http2Headers;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.http.impl.headers.Http2HeadersAdaptor trailedMap;
    descriptor: Lio/vertx/core/http/impl/headers/Http2HeadersAdaptor;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private java.util.Map<java.lang.String, io.vertx.core.http.impl.ServerCookie> cookies;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/http/impl/ServerCookie;>;

  private io.netty.handler.codec.http.HttpResponseStatus status;
    descriptor: Lio/netty/handler/codec/http/HttpResponseStatus;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String statusMessage;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.Handler<java.lang.Void> drainHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;

  private io.vertx.core.Handler<java.lang.Void> headersEndHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Handler<java.lang.Void> bodyEndHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Handler<java.lang.Void> closeHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Handler<java.lang.Void> endHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Future<io.vertx.core.net.NetSocket> netSocket;
    descriptor: Lio/vertx/core/Future;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Future<Lio/vertx/core/net/NetSocket;>;

  public void <init>(io.vertx.core.http.impl.Http2ServerConnection, io.vertx.core.http.impl.Http2ServerStream, boolean, java.lang.String, java.lang.String);
    descriptor: (Lio/vertx/core/http/impl/Http2ServerConnection;Lio/vertx/core/http/impl/Http2ServerStream;ZLjava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.http.impl.Http2ServerConnection conn
        start local 2 // io.vertx.core.http.impl.Http2ServerStream stream
        start local 3 // boolean push
        start local 4 // java.lang.String contentEncoding
        start local 5 // java.lang.String host
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            new io.netty.handler.codec.http2.DefaultHttp2Headers
            dup
            invokespecial io.netty.handler.codec.http2.DefaultHttp2Headers.<init>:()V
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
         2: .line 67
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpResponseStatus.OK:Lio/netty/handler/codec/http/HttpResponseStatus;
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
         3: .line 82
            aload 0 /* this */
            aload 2 /* stream */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
         4: .line 83
            aload 0 /* this */
            aload 1 /* conn */
            getfield io.vertx.core.http.impl.Http2ServerConnection.handlerContext:Lio/netty/channel/ChannelHandlerContext;
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.ctx:Lio/netty/channel/ChannelHandlerContext;
         5: .line 84
            aload 0 /* this */
            aload 1 /* conn */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
         6: .line 85
            aload 0 /* this */
            iload 3 /* push */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.push:Z
         7: .line 86
            aload 0 /* this */
            aload 5 /* host */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.host:Ljava/lang/String;
         8: .line 87
            aload 0 /* this */
            aload 4 /* contentEncoding */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.contentEncoding:Ljava/lang/String;
         9: .line 88
            return
        end local 5 // java.lang.String host
        end local 4 // java.lang.String contentEncoding
        end local 3 // boolean push
        end local 2 // io.vertx.core.http.impl.Http2ServerStream stream
        end local 1 // io.vertx.core.http.impl.Http2ServerConnection conn
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0   10     1             conn  Lio/vertx/core/http/impl/Http2ServerConnection;
            0   10     2           stream  Lio/vertx/core/http/impl/Http2ServerStream;
            0   10     3             push  Z
            0   10     4  contentEncoding  Ljava/lang/String;
            0   10     5             host  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      conn             
      stream           
      push             
      contentEncoding  
      host             

  boolean isPush();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 91
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.push:Z
            ireturn
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  void handleReset(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // long code
         0: .line 95
            aload 0 /* this */
            new io.vertx.core.http.StreamResetException
            dup
            lload 1 /* code */
            invokespecial io.vertx.core.http.StreamResetException.<init>:(J)V
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.handleException:(Ljava/lang/Throwable;)V
         1: .line 96
            return
        end local 1 // long code
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1  code  J
    MethodParameters:
      Name  Flags
      code  

  void handleException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.Throwable cause
         0: .line 100
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 101
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.exceptionHandler:Lio/vertx/core/Handler;
            astore 2 /* handler */
        start local 2 // io.vertx.core.Handler handler
         2: .line 100
            aload 3
            monitorexit
         3: goto 6
        end local 2 // io.vertx.core.Handler handler
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.Throwable top io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 2 // io.vertx.core.Handler handler
         6: .line 103
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.Throwable io.vertx.core.Handler
      StackMap stack:
            aload 2 /* handler */
            ifnull 8
         7: .line 104
            aload 2 /* handler */
            aload 1 /* cause */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         8: .line 106
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.Throwable cause
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    9     1    cause  Ljava/lang/Throwable;
            2    4     2  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
            6    9     2  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
       Name  Flags
      cause  

  void handleClose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 112
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 4
            monitorenter
         1: .line 113
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.closed:Z
         2: .line 114
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ended:Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl top top top io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* failed */
        start local 5 // boolean failed
         5: .line 115
            iload 5 /* failed */
            ifeq 6
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.exceptionHandler:Lio/vertx/core/Handler;
            goto 7
      StackMap locals: int
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.Handler
         7: astore 1 /* exceptionHandler */
        start local 1 // io.vertx.core.Handler exceptionHandler
         8: .line 116
            iload 5 /* failed */
            ifeq 9
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.endHandler:Lio/vertx/core/Handler;
            goto 10
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.Handler top top io.vertx.core.http.impl.Http2ServerConnection int
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.Handler
        10: astore 2 /* endHandler */
        start local 2 // io.vertx.core.Handler endHandler
        11: .line 117
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.closeHandler:Lio/vertx/core/Handler;
            astore 3 /* closeHandler */
        end local 5 // boolean failed
        start local 3 // io.vertx.core.Handler closeHandler
        12: .line 112
            aload 4
            monitorexit
        13: goto 16
        end local 3 // io.vertx.core.Handler closeHandler
        end local 2 // io.vertx.core.Handler endHandler
        end local 1 // io.vertx.core.Handler exceptionHandler
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl top top top io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
        14: aload 4
            monitorexit
        15: athrow
        start local 1 // io.vertx.core.Handler exceptionHandler
        start local 2 // io.vertx.core.Handler endHandler
        start local 3 // io.vertx.core.Handler closeHandler
        16: .line 119
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.Handler io.vertx.core.Handler io.vertx.core.Handler
      StackMap stack:
            aload 1 /* exceptionHandler */
            ifnull 18
        17: .line 120
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            getstatic io.vertx.core.net.impl.ConnectionBase.CLOSED_EXCEPTION:Lio/vertx/core/VertxException;
            aload 1 /* exceptionHandler */
            invokeinterface io.vertx.core.impl.ContextInternal.emit:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
        18: .line 122
      StackMap locals:
      StackMap stack:
            aload 2 /* endHandler */
            ifnull 20
        19: .line 123
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            aconst_null
            aload 2 /* endHandler */
            invokeinterface io.vertx.core.impl.ContextInternal.emit:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
        20: .line 125
      StackMap locals:
      StackMap stack:
            aload 3 /* closeHandler */
            ifnull 22
        21: .line 126
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            aconst_null
            aload 3 /* closeHandler */
            invokeinterface io.vertx.core.impl.ContextInternal.emit:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
        22: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.Handler closeHandler
        end local 2 // io.vertx.core.Handler endHandler
        end local 1 // io.vertx.core.Handler exceptionHandler
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            8   14     1  exceptionHandler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
           16   23     1  exceptionHandler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
           11   14     2        endHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
           16   23     2        endHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
           12   14     3      closeHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
           16   23     3      closeHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
            5   12     5            failed  Z
      Exception table:
        from    to  target  type
           1    13      14  any
          14    15      14  any

  private void checkHeadWritten();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 131
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headWritten:Z
            ifeq 2
         1: .line 132
            new java.lang.IllegalStateException
            dup
            ldc "Response head already sent"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 134
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  public io.vertx.core.http.HttpServerResponse exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 138
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 139
            aload 1 /* handler */
            ifnull 3
         2: .line 140
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         3: .line 142
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.exceptionHandler:Lio/vertx/core/Handler;
         4: .line 143
            aload 0 /* this */
            aload 2
            monitorexit
         5: areturn
         6: .line 138
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         7: athrow
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    8     1  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/http/HttpServerResponse;
    MethodParameters:
         Name  Flags
      handler  

  public int statusCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 149
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.getStatusCode:()I
            ireturn
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  public int getStatusCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 154
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 155
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
            invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
            aload 1
            monitorexit
         2: ireturn
         3: .line 154
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public io.vertx.core.http.HttpServerResponse setStatusCode(int);
    descriptor: (I)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // int statusCode
         0: .line 161
            iload 1 /* statusCode */
            ifge 2
         1: .line 162
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "code: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* statusCode */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected: 0+)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         3: .line 165
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         4: .line 166
            aload 0 /* this */
            iload 1 /* statusCode */
            invokestatic io.netty.handler.codec.http.HttpResponseStatus.valueOf:(I)Lio/netty/handler/codec/http/HttpResponseStatus;
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
         5: .line 167
            aload 0 /* this */
            aload 2
            monitorexit
         6: areturn
         7: .line 164
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl int io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         8: athrow
        end local 1 // int statusCode
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    9     1  statusCode  I
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
            Name  Flags
      statusCode  

  public java.lang.String getStatusMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 173
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 174
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.statusMessage:Ljava/lang/String;
            ifnonnull 4
         2: .line 175
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
            invokevirtual io.netty.handler.codec.http.HttpResponseStatus.reasonPhrase:()Ljava/lang/String;
            aload 1
            monitorexit
         3: areturn
         4: .line 177
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.statusMessage:Ljava/lang/String;
            aload 1
            monitorexit
         5: areturn
         6: .line 173
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         7: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     3       6  any
           4     5       6  any
           6     7       6  any

  public io.vertx.core.http.HttpServerResponse setStatusMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String statusMessage
         0: .line 183
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 184
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 185
            aload 0 /* this */
            aload 1 /* statusMessage */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.statusMessage:Ljava/lang/String;
         3: .line 186
            aload 0 /* this */
            aload 2
            monitorexit
         4: areturn
         5: .line 183
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.String io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         6: athrow
        end local 1 // java.lang.String statusMessage
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1  statusMessage  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
               Name  Flags
      statusMessage  

  public io.vertx.core.http.HttpServerResponse setChunked(boolean);
    descriptor: (Z)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // boolean chunked
         0: .line 192
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 193
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 194
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.chunked:Z
         3: .line 195
            aload 0 /* this */
            aload 2
            monitorexit
         4: areturn
         5: .line 192
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl int io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         6: athrow
        end local 1 // boolean chunked
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1  chunked  Z
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
         Name  Flags
      chunked  

  public boolean isChunked();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 201
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 202
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.chunked:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 201
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public io.vertx.core.MultiMap headers();
    descriptor: ()Lio/vertx/core/MultiMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 208
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 209
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headersMap:Lio/vertx/core/http/impl/headers/Http2HeadersAdaptor;
            ifnonnull 3
         2: .line 210
            aload 0 /* this */
            new io.vertx.core.http.impl.headers.Http2HeadersAdaptor
            dup
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            invokespecial io.vertx.core.http.impl.headers.Http2HeadersAdaptor.<init>:(Lio/netty/handler/codec/http2/Http2Headers;)V
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.headersMap:Lio/vertx/core/http/impl/headers/Http2HeadersAdaptor;
         3: .line 212
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headersMap:Lio/vertx/core/http/impl/headers/Http2HeadersAdaptor;
            aload 1
            monitorexit
         4: areturn
         5: .line 208
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public io.vertx.core.http.HttpServerResponse putHeader(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 218
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 219
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 220
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.headers:()Lio/vertx/core/MultiMap;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
            pop
         3: .line 221
            aload 0 /* this */
            aload 3
            monitorexit
         4: areturn
         5: .line 218
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.String java.lang.String io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         6: athrow
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1   name  Ljava/lang/String;
            0    7     2  value  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
       Name  Flags
      name   
      value  

  public io.vertx.core.http.HttpServerResponse putHeader(java.lang.CharSequence, java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.CharSequence name
        start local 2 // java.lang.CharSequence value
         0: .line 227
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 228
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 229
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.headers:()Lio/vertx/core/MultiMap;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/MultiMap;
            pop
         3: .line 230
            aload 0 /* this */
            aload 3
            monitorexit
         4: areturn
         5: .line 227
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.CharSequence java.lang.CharSequence io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         6: athrow
        end local 2 // java.lang.CharSequence value
        end local 1 // java.lang.CharSequence name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1   name  Ljava/lang/CharSequence;
            0    7     2  value  Ljava/lang/CharSequence;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
       Name  Flags
      name   
      value  

  public io.vertx.core.http.HttpServerResponse putHeader(java.lang.String, java.lang.Iterable<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Iterable values
         0: .line 236
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 237
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 238
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.headers:()Lio/vertx/core/MultiMap;
            aload 1 /* name */
            aload 2 /* values */
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/Iterable;)Lio/vertx/core/MultiMap;
            pop
         3: .line 239
            aload 0 /* this */
            aload 3
            monitorexit
         4: areturn
         5: .line 236
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.String java.lang.Iterable io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         6: athrow
        end local 2 // java.lang.Iterable values
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1    name  Ljava/lang/String;
            0    7     2  values  Ljava/lang/Iterable<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Ljava/lang/String;>;)Lio/vertx/core/http/HttpServerResponse;
    MethodParameters:
        Name  Flags
      name    
      values  

  public io.vertx.core.http.HttpServerResponse putHeader(java.lang.CharSequence, java.lang.Iterable<java.lang.CharSequence>);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/Iterable;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.CharSequence name
        start local 2 // java.lang.Iterable values
         0: .line 245
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 246
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 247
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.headers:()Lio/vertx/core/MultiMap;
            aload 1 /* name */
            aload 2 /* values */
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Lio/vertx/core/MultiMap;
            pop
         3: .line 248
            aload 0 /* this */
            aload 3
            monitorexit
         4: areturn
         5: .line 245
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.CharSequence java.lang.Iterable io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         6: athrow
        end local 2 // java.lang.Iterable values
        end local 1 // java.lang.CharSequence name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1    name  Ljava/lang/CharSequence;
            0    7     2  values  Ljava/lang/Iterable<Ljava/lang/CharSequence;>;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Signature: (Ljava/lang/CharSequence;Ljava/lang/Iterable<Ljava/lang/CharSequence;>;)Lio/vertx/core/http/HttpServerResponse;
    MethodParameters:
        Name  Flags
      name    
      values  

  public io.vertx.core.MultiMap trailers();
    descriptor: ()Lio/vertx/core/MultiMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 254
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 255
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.trailedMap:Lio/vertx/core/http/impl/headers/Http2HeadersAdaptor;
            ifnonnull 3
         2: .line 256
            aload 0 /* this */
            new io.vertx.core.http.impl.headers.Http2HeadersAdaptor
            dup
            aload 0 /* this */
            new io.netty.handler.codec.http2.DefaultHttp2Headers
            dup
            invokespecial io.netty.handler.codec.http2.DefaultHttp2Headers.<init>:()V
            dup_x1
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:Lio/netty/handler/codec/http2/Http2Headers;
            invokespecial io.vertx.core.http.impl.headers.Http2HeadersAdaptor.<init>:(Lio/netty/handler/codec/http2/Http2Headers;)V
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.trailedMap:Lio/vertx/core/http/impl/headers/Http2HeadersAdaptor;
         3: .line 258
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.trailedMap:Lio/vertx/core/http/impl/headers/Http2HeadersAdaptor;
            aload 1
            monitorexit
         4: areturn
         5: .line 254
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public io.vertx.core.http.HttpServerResponse putTrailer(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 264
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 265
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         2: .line 266
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:()Lio/vertx/core/MultiMap;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
            pop
         3: .line 267
            aload 0 /* this */
            aload 3
            monitorexit
         4: areturn
         5: .line 264
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.String java.lang.String io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         6: athrow
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1   name  Ljava/lang/String;
            0    7     2  value  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
       Name  Flags
      name   
      value  

  public io.vertx.core.http.HttpServerResponse putTrailer(java.lang.CharSequence, java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.CharSequence name
        start local 2 // java.lang.CharSequence value
         0: .line 273
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 274
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         2: .line 275
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:()Lio/vertx/core/MultiMap;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/MultiMap;
            pop
         3: .line 276
            aload 0 /* this */
            aload 3
            monitorexit
         4: areturn
         5: .line 273
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.CharSequence java.lang.CharSequence io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         6: athrow
        end local 2 // java.lang.CharSequence value
        end local 1 // java.lang.CharSequence name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1   name  Ljava/lang/CharSequence;
            0    7     2  value  Ljava/lang/CharSequence;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
       Name  Flags
      name   
      value  

  public io.vertx.core.http.HttpServerResponse putTrailer(java.lang.String, java.lang.Iterable<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Iterable values
         0: .line 282
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 283
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         2: .line 284
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:()Lio/vertx/core/MultiMap;
            aload 1 /* name */
            aload 2 /* values */
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/String;Ljava/lang/Iterable;)Lio/vertx/core/MultiMap;
            pop
         3: .line 285
            aload 0 /* this */
            aload 3
            monitorexit
         4: areturn
         5: .line 282
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.String java.lang.Iterable io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         6: athrow
        end local 2 // java.lang.Iterable values
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1    name  Ljava/lang/String;
            0    7     2  values  Ljava/lang/Iterable<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Ljava/lang/String;>;)Lio/vertx/core/http/HttpServerResponse;
    MethodParameters:
        Name  Flags
      name    
      values  

  public io.vertx.core.http.HttpServerResponse putTrailer(java.lang.CharSequence, java.lang.Iterable<java.lang.CharSequence>);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/Iterable;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.CharSequence name
        start local 2 // java.lang.Iterable value
         0: .line 291
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 292
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         2: .line 293
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:()Lio/vertx/core/MultiMap;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Lio/vertx/core/MultiMap;
            pop
         3: .line 294
            aload 0 /* this */
            aload 3
            monitorexit
         4: areturn
         5: .line 291
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.CharSequence java.lang.Iterable io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         6: athrow
        end local 2 // java.lang.Iterable value
        end local 1 // java.lang.CharSequence name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1   name  Ljava/lang/CharSequence;
            0    7     2  value  Ljava/lang/Iterable<Ljava/lang/CharSequence;>;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Signature: (Ljava/lang/CharSequence;Ljava/lang/Iterable<Ljava/lang/CharSequence;>;)Lio/vertx/core/http/HttpServerResponse;
    MethodParameters:
       Name  Flags
      name   
      value  

  public io.vertx.core.http.HttpServerResponse closeHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 300
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 301
            aload 1 /* handler */
            ifnull 3
         2: .line 302
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         3: .line 304
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.closeHandler:Lio/vertx/core/Handler;
         4: .line 305
            aload 0 /* this */
            aload 2
            monitorexit
         5: areturn
         6: .line 300
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         7: athrow
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    8     1  handler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/http/HttpServerResponse;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.http.HttpServerResponse endHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 311
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 312
            aload 1 /* handler */
            ifnull 3
         2: .line 313
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         3: .line 315
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.endHandler:Lio/vertx/core/Handler;
         4: .line 316
            aload 0 /* this */
            aload 2
            monitorexit
         5: areturn
         6: .line 311
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         7: athrow
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    8     1  handler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/http/HttpServerResponse;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.http.HttpServerResponse writeContinue();
    descriptor: ()Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 322
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 323
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 324
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            new io.netty.handler.codec.http2.DefaultHttp2Headers
            dup
            invokespecial io.netty.handler.codec.http2.DefaultHttp2Headers.<init>:()V
            ldc "100"
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2Headers.status:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http2/Http2Headers;
            iconst_0
            aconst_null
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.writeHeaders:(Lio/netty/handler/codec/http2/Http2Headers;ZLio/vertx/core/Handler;)V
         3: .line 325
            aload 0 /* this */
            aload 1
            monitorexit
         4: areturn
         5: .line 322
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public io.vertx.core.Future<java.lang.Void> write(io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.buffer.Buffer chunk
         0: .line 331
            aload 1 /* chunk */
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            astore 2 /* buf */
        start local 2 // io.netty.buffer.ByteBuf buf
         1: .line 332
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         2: .line 333
            aload 0 /* this */
            aload 2 /* buf */
            iconst_0
            aload 3 /* promise */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         3: .line 334
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // io.netty.buffer.ByteBuf buf
        end local 1 // io.vertx.core.buffer.Buffer chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    4     1    chunk  Lio/vertx/core/buffer/Buffer;
            1    4     2      buf  Lio/netty/buffer/ByteBuf;
            2    4     3  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
       Name  Flags
      chunk  

  public void write(io.vertx.core.buffer.Buffer, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.buffer.Buffer chunk
        start local 2 // io.vertx.core.Handler handler
         0: .line 339
            aload 1 /* chunk */
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            astore 3 /* buf */
        start local 3 // io.netty.buffer.ByteBuf buf
         1: .line 340
            aload 0 /* this */
            aload 3 /* buf */
            iconst_0
            aload 2 /* handler */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         2: .line 341
            return
        end local 3 // io.netty.buffer.ByteBuf buf
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.core.buffer.Buffer chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    3     1    chunk  Lio/vertx/core/buffer/Buffer;
            0    3     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            1    3     3      buf  Lio/netty/buffer/ByteBuf;
    Signature: (Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      chunk    
      handler  

  public io.vertx.core.Future<java.lang.Void> write(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String chunk
        start local 2 // java.lang.String enc
         0: .line 345
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 346
            aload 0 /* this */
            aload 1 /* chunk */
            aload 2 /* enc */
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            iconst_0
            aload 3 /* promise */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         2: .line 347
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.lang.String enc
        end local 1 // java.lang.String chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    3     1    chunk  Ljava/lang/String;
            0    3     2      enc  Ljava/lang/String;
            1    3     3  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
       Name  Flags
      chunk  
      enc    

  public void write(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String chunk
        start local 2 // java.lang.String enc
        start local 3 // io.vertx.core.Handler handler
         0: .line 352
            aload 0 /* this */
            aload 1 /* chunk */
            aload 2 /* enc */
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            iconst_0
            aload 3 /* handler */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         1: .line 353
            return
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.lang.String enc
        end local 1 // java.lang.String chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1    chunk  Ljava/lang/String;
            0    2     2      enc  Ljava/lang/String;
            0    2     3  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      chunk    
      enc      
      handler  

  public io.vertx.core.Future<java.lang.Void> write(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String chunk
         0: .line 357
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 358
            aload 0 /* this */
            aload 1 /* chunk */
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            iconst_0
            aload 2 /* promise */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         2: .line 359
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    3     1    chunk  Ljava/lang/String;
            1    3     2  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
       Name  Flags
      chunk  

  public void write(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String chunk
        start local 2 // io.vertx.core.Handler handler
         0: .line 364
            aload 0 /* this */
            aload 1 /* chunk */
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            iconst_0
            aload 2 /* handler */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         1: .line 365
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.String chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1    chunk  Ljava/lang/String;
            0    2     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      chunk    
      handler  

  private io.vertx.core.http.impl.Http2ServerResponseImpl write(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/vertx/core/http/impl/Http2ServerResponseImpl;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.netty.buffer.ByteBuf chunk
         0: .line 368
            aload 0 /* this */
            aload 1 /* chunk */
            iconst_0
            aconst_null
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         1: .line 369
            aload 0 /* this */
            areturn
        end local 1 // io.netty.buffer.ByteBuf chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1  chunk  Lio/netty/buffer/ByteBuf;
    MethodParameters:
       Name  Flags
      chunk  

  public io.vertx.core.Future<java.lang.Void> end(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String chunk
         0: .line 374
            aload 0 /* this */
            aload 1 /* chunk */
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.end:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            areturn
        end local 1 // java.lang.String chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    1     1  chunk  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
       Name  Flags
      chunk  

  public void end(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String chunk
        start local 2 // io.vertx.core.Handler handler
         0: .line 379
            aload 0 /* this */
            aload 1 /* chunk */
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            aload 2 /* handler */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.end:(Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)V
         1: .line 380
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.String chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1    chunk  Ljava/lang/String;
            0    2     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      chunk    
      handler  

  public io.vertx.core.Future<java.lang.Void> end(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String chunk
        start local 2 // java.lang.String enc
         0: .line 384
            aload 0 /* this */
            aload 1 /* chunk */
            aload 2 /* enc */
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.end:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            areturn
        end local 2 // java.lang.String enc
        end local 1 // java.lang.String chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    1     1  chunk  Ljava/lang/String;
            0    1     2    enc  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
       Name  Flags
      chunk  
      enc    

  public void end(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String chunk
        start local 2 // java.lang.String enc
        start local 3 // io.vertx.core.Handler handler
         0: .line 389
            aload 0 /* this */
            aload 1 /* chunk */
            aload 2 /* enc */
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.end:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            pop
         1: .line 390
            return
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.lang.String enc
        end local 1 // java.lang.String chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1    chunk  Ljava/lang/String;
            0    2     2      enc  Ljava/lang/String;
            0    2     3  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      chunk    
      enc      
      handler  

  public io.vertx.core.Future<java.lang.Void> end(io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.buffer.Buffer chunk
         0: .line 394
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 395
            aload 0 /* this */
            aload 1 /* chunk */
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            iconst_1
            aload 2 /* promise */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         2: .line 396
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.core.buffer.Buffer chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    3     1    chunk  Lio/vertx/core/buffer/Buffer;
            1    3     2  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
       Name  Flags
      chunk  

  public void end(io.vertx.core.buffer.Buffer, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.buffer.Buffer chunk
        start local 2 // io.vertx.core.Handler handler
         0: .line 401
            aload 0 /* this */
            aload 1 /* chunk */
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            aload 2 /* handler */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.end:(Lio/netty/buffer/ByteBuf;Lio/vertx/core/Handler;)V
         1: .line 402
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.core.buffer.Buffer chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1    chunk  Lio/vertx/core/buffer/Buffer;
            0    2     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      chunk    
      handler  

  public io.vertx.core.Future<java.lang.Void> end();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 406
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 1 /* promise */
        start local 1 // io.vertx.core.Promise promise
         1: .line 407
            aload 0 /* this */
            aconst_null
            iconst_1
            aload 1 /* promise */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         2: .line 408
            aload 1 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            1    3     1  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: ()Lio/vertx/core/Future<Ljava/lang/Void;>;

  public void end(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 413
            aload 0 /* this */
            aconst_null
            aload 1 /* handler */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.end:(Lio/netty/buffer/ByteBuf;Lio/vertx/core/Handler;)V
         1: .line 414
            return
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      handler  

  io.vertx.core.Future<io.vertx.core.net.NetSocket> netSocket();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 417
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 418
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.netSocket:Lio/vertx/core/Future;
            ifnonnull 9
         2: .line 419
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpResponseStatus.OK:Lio/netty/handler/codec/http/HttpResponseStatus;
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
         3: .line 420
            aload 0 /* this */
            iconst_0
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkSendHeaders:(Z)Z
            ifne 6
         4: .line 421
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            ldc "Response for CONNECT already sent"
            invokeinterface io.vertx.core.impl.ContextInternal.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.netSocket:Lio/vertx/core/Future;
         5: .line 422
            goto 9
         6: .line 423
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ctx:Lio/netty/channel/ChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
            pop
         7: .line 424
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            checkcast io.vertx.core.streams.ReadStream
            aload 0 /* this */
            invokestatic io.vertx.core.http.impl.HttpNetSocket.netSocket:(Lio/vertx/core/net/impl/ConnectionBase;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/streams/ReadStream;Lio/vertx/core/streams/WriteStream;)Lio/vertx/core/http/impl/HttpNetSocket;
            astore 2 /* ns */
        start local 2 // io.vertx.core.http.impl.HttpNetSocket ns
         8: .line 425
            aload 0 /* this */
            aload 2 /* ns */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.netSocket:Lio/vertx/core/Future;
        end local 2 // io.vertx.core.http.impl.HttpNetSocket ns
         9: .line 417
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.netSocket:Lio/vertx/core/Future;
            areturn
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            8    9     2    ns  Lio/vertx/core/http/impl/HttpNetSocket;
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any
    Signature: ()Lio/vertx/core/Future<Lio/vertx/core/net/NetSocket;>;

  private void end(io.netty.buffer.ByteBuf, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.netty.buffer.ByteBuf chunk
        start local 2 // io.vertx.core.Handler handler
         0: .line 433
            aload 0 /* this */
            aload 1 /* chunk */
            iconst_1
            aload 2 /* handler */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
         1: .line 434
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.netty.buffer.ByteBuf chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1    chunk  Lio/netty/buffer/ByteBuf;
            0    2     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/netty/buffer/ByteBuf;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      chunk    
      handler  

  void write(io.netty.buffer.ByteBuf, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.netty.buffer.ByteBuf chunk
        start local 2 // boolean end
        start local 3 // io.vertx.core.Handler handler
         0: .line 439
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 6
            monitorenter
         1: .line 440
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ended:Z
            ifeq 3
         2: .line 441
            new java.lang.IllegalStateException
            dup
            ldc "Response has already been written"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 443
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.netty.buffer.ByteBuf int io.vertx.core.Handler top top io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            iload 2 /* end */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.ended:Z
         4: .line 444
            iconst_0
            istore 7 /* hasBody */
        start local 7 // boolean hasBody
         5: .line 445
            aload 1 /* chunk */
            ifnull 8
         6: .line 446
            iconst_1
            istore 7 /* hasBody */
         7: .line 447
            goto 9
         8: .line 448
      StackMap locals: int
      StackMap stack:
            getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
            astore 1 /* chunk */
         9: .line 450
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            ifeq 11
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headWritten:Z
            ifne 11
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.needsContentLengthHeader:()Z
            ifeq 11
        10: .line 451
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.headers:()Lio/vertx/core/MultiMap;
            getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_LENGTH:Lio/netty/util/AsciiString;
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface io.vertx.core.MultiMap.set:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/MultiMap;
            pop
        11: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* end */
            ifeq 12
            iload 7 /* hasBody */
            ifne 12
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:Lio/netty/handler/codec/http2/Http2Headers;
            ifnonnull 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack: io.vertx.core.http.impl.Http2ServerResponseImpl
        12: iconst_0
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.netty.buffer.ByteBuf int io.vertx.core.Handler top top io.vertx.core.http.impl.Http2ServerConnection int
      StackMap stack: io.vertx.core.http.impl.Http2ServerResponseImpl int
        13: invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkSendHeaders:(Z)Z
            istore 8 /* sent */
        start local 8 // boolean sent
        14: .line 454
            iload 7 /* hasBody */
            ifne 15
            iload 8 /* sent */
            ifne 18
            iload 2 /* end */
            ifeq 18
        15: .line 455
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            aload 1 /* chunk */
            iload 2 /* end */
            ifeq 16
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:Lio/netty/handler/codec/http2/Http2Headers;
            ifnonnull 16
            iconst_1
            goto 17
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.netty.buffer.ByteBuf int io.vertx.core.Handler top top io.vertx.core.http.impl.Http2ServerConnection int int
      StackMap stack: io.vertx.core.http.impl.Http2ServerStream io.netty.buffer.ByteBuf
        16: iconst_0
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.netty.buffer.ByteBuf int io.vertx.core.Handler top top io.vertx.core.http.impl.Http2ServerConnection int int
      StackMap stack: io.vertx.core.http.impl.Http2ServerStream io.netty.buffer.ByteBuf int
        17: aload 3 /* handler */
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.writeData:(Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler;)V
        18: .line 457
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            ifeq 20
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:Lio/netty/handler/codec/http2/Http2Headers;
            ifnull 20
        19: .line 458
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.trailers:Lio/netty/handler/codec/http2/Http2Headers;
            iconst_1
            aconst_null
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.writeHeaders:(Lio/netty/handler/codec/http2/Http2Headers;ZLio/vertx/core/Handler;)V
        20: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.bodyEndHandler:Lio/vertx/core/Handler;
            astore 4 /* bodyEndHandler */
        start local 4 // io.vertx.core.Handler bodyEndHandler
        21: .line 461
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.endHandler:Lio/vertx/core/Handler;
            astore 5 /* endHandler */
        end local 8 // boolean sent
        end local 7 // boolean hasBody
        start local 5 // io.vertx.core.Handler endHandler
        22: .line 439
            aload 6
            monitorexit
        23: goto 26
        end local 5 // io.vertx.core.Handler endHandler
        end local 4 // io.vertx.core.Handler bodyEndHandler
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.netty.buffer.ByteBuf int io.vertx.core.Handler top top io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
        24: aload 6
            monitorexit
        25: athrow
        start local 4 // io.vertx.core.Handler bodyEndHandler
        start local 5 // io.vertx.core.Handler endHandler
        26: .line 463
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.netty.buffer.ByteBuf int io.vertx.core.Handler io.vertx.core.Handler io.vertx.core.Handler
      StackMap stack:
            iload 2 /* end */
            ifeq 31
        27: .line 464
            aload 4 /* bodyEndHandler */
            ifnull 29
        28: .line 465
            aload 4 /* bodyEndHandler */
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        29: .line 467
      StackMap locals:
      StackMap stack:
            aload 5 /* endHandler */
            ifnull 31
        30: .line 468
            aload 5 /* endHandler */
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        31: .line 471
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.core.Handler endHandler
        end local 4 // io.vertx.core.Handler bodyEndHandler
        end local 3 // io.vertx.core.Handler handler
        end local 2 // boolean end
        end local 1 // io.netty.buffer.ByteBuf chunk
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   32     0            this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0   32     1           chunk  Lio/netty/buffer/ByteBuf;
            0   32     2             end  Z
            0   32     3         handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
           21   24     4  bodyEndHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
           26   32     4  bodyEndHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
           22   24     5      endHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
           26   32     5      endHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
            5   22     7         hasBody  Z
           14   22     8            sent  Z
      Exception table:
        from    to  target  type
           1    23      24  any
          24    25      24  any
    Signature: (Lio/netty/buffer/ByteBuf;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      chunk    
      end      
      handler  

  private boolean needsContentLengthHeader();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 474
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.method:Lio/vertx/core/http/HttpMethod;
            getstatic io.vertx.core.http.HttpMethod.HEAD:Lio/vertx/core/http/HttpMethod;
            if_acmpeq 1
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
            getstatic io.netty.handler.codec.http.HttpResponseStatus.NOT_MODIFIED:Lio/netty/handler/codec/http/HttpResponseStatus;
            if_acmpeq 1
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_LENGTH:Lio/netty/util/AsciiString;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.contains:(Ljava/lang/Object;)Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  private boolean checkSendHeaders(boolean);
    descriptor: (Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // boolean end
         0: .line 478
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headWritten:Z
            ifne 11
         1: .line 479
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headersEndHandler:Lio/vertx/core/Handler;
            ifnull 3
         2: .line 480
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headersEndHandler:Lio/vertx/core/Handler;
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.cookies:Ljava/util/Map;
            ifnull 5
         4: .line 483
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.setCookies:()V
         5: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.prepareHeaders:()V
         6: .line 486
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.headWritten:Z
         7: .line 487
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            iload 1 /* end */
            aconst_null
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.writeHeaders:(Lio/netty/handler/codec/http2/Http2Headers;ZLio/vertx/core/Handler;)V
         8: .line 488
            iload 1 /* end */
            ifeq 10
         9: .line 489
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ctx:Lio/netty/channel/ChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
            pop
        10: .line 491
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        11: .line 493
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean end
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0   12     1   end  Z
    MethodParameters:
      Name  Flags
      end   

  private void prepareHeaders();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 498
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
            invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.status:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http2/Http2Headers;
            pop
         1: .line 499
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.contentEncoding:Ljava/lang/String;
            ifnull 3
         2: .line 500
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_ENCODING:Lio/netty/util/AsciiString;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.contentEncoding:Ljava/lang/String;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
            pop
         3: .line 503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.method:Lio/vertx/core/http/HttpMethod;
            getstatic io.vertx.core.http.HttpMethod.HEAD:Lio/vertx/core/http/HttpMethod;
            if_acmpeq 4
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
            getstatic io.netty.handler.codec.http.HttpResponseStatus.NOT_MODIFIED:Lio/netty/handler/codec/http/HttpResponseStatus;
            if_acmpne 6
         4: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.vertx.core.http.HttpHeaders.TRANSFER_ENCODING:Ljava/lang/CharSequence;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.remove:(Ljava/lang/Object;)Z
            pop
         5: .line 505
            goto 13
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
            getstatic io.netty.handler.codec.http.HttpResponseStatus.RESET_CONTENT:Lio/netty/handler/codec/http/HttpResponseStatus;
            if_acmpne 10
         7: .line 506
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.vertx.core.http.HttpHeaders.TRANSFER_ENCODING:Ljava/lang/CharSequence;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.remove:(Ljava/lang/Object;)Z
            pop
         8: .line 507
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.vertx.core.http.HttpHeaders.CONTENT_LENGTH:Ljava/lang/CharSequence;
            ldc "0"
            invokeinterface io.netty.handler.codec.http2.Http2Headers.set:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
            pop
         9: .line 508
            goto 13
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
            invokevirtual io.netty.handler.codec.http.HttpResponseStatus.codeClass:()Lio/netty/handler/codec/http/HttpStatusClass;
            getstatic io.netty.handler.codec.http.HttpStatusClass.INFORMATIONAL:Lio/netty/handler/codec/http/HttpStatusClass;
            if_acmpeq 11
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.status:Lio/netty/handler/codec/http/HttpResponseStatus;
            getstatic io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT:Lio/netty/handler/codec/http/HttpResponseStatus;
            if_acmpne 13
        11: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.vertx.core.http.HttpHeaders.TRANSFER_ENCODING:Ljava/lang/CharSequence;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.remove:(Ljava/lang/Object;)Z
            pop
        12: .line 510
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.vertx.core.http.HttpHeaders.CONTENT_LENGTH:Ljava/lang/CharSequence;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.remove:(Ljava/lang/Object;)Z
            pop
        13: .line 512
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  private void setCookies();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 515
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.cookies:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.http.impl.ServerCookie
            astore 1 /* cookie */
        start local 1 // io.vertx.core.http.impl.ServerCookie cookie
         2: .line 516
            aload 1 /* cookie */
            invokeinterface io.vertx.core.http.impl.ServerCookie.isChanged:()Z
            ifeq 4
         3: .line 517
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.vertx.core.http.HttpHeaders.SET_COOKIE:Ljava/lang/CharSequence;
            aload 1 /* cookie */
            invokeinterface io.vertx.core.http.impl.ServerCookie.encode:()Ljava/lang/String;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.add:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
            pop
        end local 1 // io.vertx.core.http.impl.ServerCookie cookie
         4: .line 515
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 520
            return
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            2    4     1  cookie  Lio/vertx/core/http/impl/ServerCookie;

  public io.vertx.core.http.HttpServerResponse writeCustomFrame(int, int, io.vertx.core.buffer.Buffer);
    descriptor: (IILio/vertx/core/buffer/Buffer;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // int type
        start local 2 // int flags
        start local 3 // io.vertx.core.buffer.Buffer payload
         0: .line 524
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 4
            monitorenter
         1: .line 525
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         2: .line 526
            aload 0 /* this */
            iconst_0
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkSendHeaders:(Z)Z
            pop
         3: .line 527
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            iload 1 /* type */
            iload 2 /* flags */
            aload 3 /* payload */
            invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.writeFrame:(IILio/netty/buffer/ByteBuf;)V
         4: .line 528
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ctx:Lio/netty/channel/ChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 529
            aload 0 /* this */
            aload 4
            monitorexit
         6: areturn
         7: .line 524
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl int int io.vertx.core.buffer.Buffer io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
         8: athrow
        end local 3 // io.vertx.core.buffer.Buffer payload
        end local 2 // int flags
        end local 1 // int type
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    9     1     type  I
            0    9     2    flags  I
            0    9     3  payload  Lio/vertx/core/buffer/Buffer;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
         Name  Flags
      type     
      flags    
      payload  

  private void checkValid();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 534
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ended:Z
            ifeq 2
         1: .line 535
            new java.lang.IllegalStateException
            dup
            ldc "Response has already been written"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 537
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  void handlerWritabilityChanged(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // boolean writable
         0: .line 540
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ended:Z
            ifne 2
            iload 1 /* writable */
            ifeq 2
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.drainHandler:Lio/vertx/core/Handler;
            ifnull 2
         1: .line 541
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.drainHandler:Lio/vertx/core/Handler;
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 543
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean writable
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    3     1  writable  Z
    MethodParameters:
          Name  Flags
      writable  

  public boolean writeQueueFull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 547
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 548
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         2: .line 549
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.isNotWritable:()Z
            aload 1
            monitorexit
         3: ireturn
         4: .line 547
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public io.vertx.core.http.HttpServerResponse setWriteQueueMaxSize(int);
    descriptor: (I)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // int maxSize
         0: .line 555
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 556
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         2: .line 555
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl int io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int maxSize
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    7     1  maxSize  I
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
         Name  Flags
      maxSize  

  public io.vertx.core.http.HttpServerResponse drainHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 564
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 565
            aload 1 /* handler */
            ifnull 3
         2: .line 566
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         3: .line 568
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.drainHandler:Lio/vertx/core/Handler;
         4: .line 569
            aload 0 /* this */
            aload 2
            monitorexit
         5: areturn
         6: .line 564
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         7: athrow
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    8     1  handler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/http/HttpServerResponse;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.Future<java.lang.Void> sendFile(java.lang.String, long, long);
    descriptor: (Ljava/lang/String;JJ)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String filename
        start local 2 // long offset
        start local 4 // long length
         0: .line 575
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 6 /* promise */
        start local 6 // io.vertx.core.Promise promise
         1: .line 576
            aload 0 /* this */
            aload 1 /* filename */
            lload 2 /* offset */
            lload 4 /* length */
            aload 6 /* promise */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.sendFile:(Ljava/lang/String;JJLio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
            pop
         2: .line 577
            aload 6 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 6 // io.vertx.core.Promise promise
        end local 4 // long length
        end local 2 // long offset
        end local 1 // java.lang.String filename
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    3     1  filename  Ljava/lang/String;
            0    3     2    offset  J
            0    3     4    length  J
            1    3     6   promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Ljava/lang/String;JJ)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      filename  
      offset    
      length    

  public io.vertx.core.http.HttpServerResponse sendFile(java.lang.String, long, long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;JJLio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=9, args_size=5
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String filename
        start local 2 // long offset
        start local 4 // long length
        start local 6 // io.vertx.core.Handler resultHandler
         0: .line 582
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 7
            monitorenter
         1: .line 583
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         2: .line 582
            aload 7
            monitorexit
         3: goto 6
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.String long long io.vertx.core.Handler io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
         4: aload 7
            monitorexit
         5: athrow
         6: .line 586
      StackMap locals:
      StackMap stack:
            aload 6 /* resultHandler */
            ifnull 10
         7: .line 587
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.vertx:Lio/vertx/core/impl/VertxInternal;
            invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            astore 8 /* resultCtx */
        start local 8 // io.vertx.core.Context resultCtx
         8: .line 588
            aload 8 /* resultCtx */
            aload 6 /* resultHandler */
            invokedynamic handle(Lio/vertx/core/Context;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/http/impl/Http2ServerResponseImpl.lambda$0(Lio/vertx/core/Context;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            astore 7 /* h */
        end local 8 // io.vertx.core.Context resultCtx
        start local 7 // io.vertx.core.Handler h
         9: .line 593
            goto 11
        end local 7 // io.vertx.core.Handler h
        10: .line 594
      StackMap locals:
      StackMap stack:
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/http/impl/Http2ServerResponseImpl.lambda$2(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            astore 7 /* h */
        start local 7 // io.vertx.core.Handler h
        11: .line 596
      StackMap locals: io.vertx.core.Handler
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 1 /* filename */
            lload 2 /* offset */
            lload 4 /* length */
            aload 0 /* this */
            lload 4 /* length */
            aload 1 /* filename */
            aload 7 /* h */
            invokedynamic handle(Lio/vertx/core/http/impl/Http2ServerResponseImpl;JLjava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/http/impl/Http2ServerResponseImpl.lambda$3(JLjava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokestatic io.vertx.core.http.impl.HttpUtils.resolveFile:(Lio/vertx/core/impl/VertxInternal;Ljava/lang/String;JJLio/vertx/core/Handler;)V
        12: .line 621
            aload 0 /* this */
            areturn
        end local 7 // io.vertx.core.Handler h
        end local 6 // io.vertx.core.Handler resultHandler
        end local 4 // long length
        end local 2 // long offset
        end local 1 // java.lang.String filename
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0   13     1       filename  Ljava/lang/String;
            0   13     2         offset  J
            0   13     4         length  J
            0   13     6  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            9   10     7              h  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
           11   13     7              h  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            8    9     8      resultCtx  Lio/vertx/core/Context;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (Ljava/lang/String;JJLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/core/http/HttpServerResponse;
    MethodParameters:
               Name  Flags
      filename       
      offset         
      length         
      resultHandler  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 626
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            invokevirtual io.vertx.core.http.impl.Http2ServerConnection.close:()Lio/vertx/core/Future;
            pop
         1: .line 627
            return
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  public boolean ended();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 631
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 632
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ended:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 631
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public synchronized boolean closed();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 638
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 639
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.closed:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 638
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public boolean headWritten();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 645
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 1
            monitorenter
         1: .line 646
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headWritten:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 645
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public io.vertx.core.http.HttpServerResponse headersEndHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 652
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 653
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.headersEndHandler:Lio/vertx/core/Handler;
         2: .line 654
            aload 0 /* this */
            aload 2
            monitorexit
         3: areturn
         4: .line 652
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.Handler io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         5: athrow
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    6     1  handler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/http/HttpServerResponse;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.http.HttpServerResponse bodyEndHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 660
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 661
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.bodyEndHandler:Lio/vertx/core/Handler;
         2: .line 662
            aload 0 /* this */
            aload 2
            monitorexit
         3: areturn
         4: .line 660
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.Handler io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         5: athrow
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    6     1  handler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/http/HttpServerResponse;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
         Name  Flags
      handler  

  public long bytesWritten();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 668
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.bytesWritten:()J
            lreturn
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  public int streamId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 673
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.id:()I
            ireturn
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;

  public boolean reset(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // long code
         0: .line 678
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ended:Z
            ifeq 2
         1: .line 679
            iconst_0
            ireturn
         2: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            lload 1 /* code */
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.writeReset:(J)V
         3: .line 682
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.ctx:Lio/netty/channel/ChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
            pop
         4: .line 683
            iconst_1
            ireturn
        end local 1 // long code
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    5     1  code  J
    MethodParameters:
      Name  Flags
      code  

  public io.vertx.core.Future<io.vertx.core.http.HttpServerResponse> push(io.vertx.core.http.HttpMethod, java.lang.String, java.lang.String, io.vertx.core.MultiMap);
    descriptor: (Lio/vertx/core/http/HttpMethod;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/MultiMap;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.http.HttpMethod method
        start local 2 // java.lang.String host
        start local 3 // java.lang.String path
        start local 4 // io.vertx.core.MultiMap headers
         0: .line 688
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.push:Z
            ifeq 2
         1: .line 689
            new java.lang.IllegalStateException
            dup
            ldc "A push response cannot promise another push"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 691
      StackMap locals:
      StackMap stack:
            aload 2 /* host */
            ifnonnull 4
         3: .line 692
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.host:Ljava/lang/String;
            astore 2 /* host */
         4: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 5
            monitorenter
         5: .line 695
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkValid:()V
         6: .line 694
            aload 5
            monitorexit
         7: goto 10
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.HttpMethod java.lang.String java.lang.String io.vertx.core.MultiMap io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
         8: aload 5
            monitorexit
         9: athrow
        10: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.context:Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 5 /* promise */
        start local 5 // io.vertx.core.Promise promise
        11: .line 698
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.id:()I
            aload 2 /* host */
            aload 1 /* method */
            aload 4 /* headers */
            aload 3 /* path */
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.priority:()Lio/vertx/core/http/StreamPriority;
            aload 5 /* promise */
            invokevirtual io.vertx.core.http.impl.Http2ServerConnection.sendPush:(ILjava/lang/String;Lio/vertx/core/http/HttpMethod;Lio/vertx/core/MultiMap;Ljava/lang/String;Lio/vertx/core/http/StreamPriority;Lio/vertx/core/Promise;)V
        12: .line 699
            aload 5 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 5 // io.vertx.core.Promise promise
        end local 4 // io.vertx.core.MultiMap headers
        end local 3 // java.lang.String path
        end local 2 // java.lang.String host
        end local 1 // io.vertx.core.http.HttpMethod method
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0   13     1   method  Lio/vertx/core/http/HttpMethod;
            0   13     2     host  Ljava/lang/String;
            0   13     3     path  Ljava/lang/String;
            0   13     4  headers  Lio/vertx/core/MultiMap;
           11   13     5  promise  Lio/vertx/core/Promise<Lio/vertx/core/http/HttpServerResponse;>;
      Exception table:
        from    to  target  type
           5     7       8  any
           8     9       8  any
    Signature: (Lio/vertx/core/http/HttpMethod;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/MultiMap;)Lio/vertx/core/Future<Lio/vertx/core/http/HttpServerResponse;>;
    MethodParameters:
         Name  Flags
      method   
      host     
      path     
      headers  

  public io.vertx.core.http.HttpServerResponse setStreamPriority(io.vertx.core.http.StreamPriority);
    descriptor: (Lio/vertx/core/http/StreamPriority;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.http.StreamPriority priority
         0: .line 704
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            aload 1 /* priority */
            invokevirtual io.vertx.core.http.impl.Http2ServerStream.updatePriority:(Lio/vertx/core/http/StreamPriority;)V
         1: .line 705
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.http.StreamPriority priority
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    2     1  priority  Lio/vertx/core/http/StreamPriority;
    MethodParameters:
          Name  Flags
      priority  

  java.util.Map<java.lang.String, io.vertx.core.http.impl.ServerCookie> cookies();
    descriptor: ()Ljava/util/Map;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
         0: .line 709
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.cookies:Ljava/util/Map;
            ifnonnull 4
         1: .line 710
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.headers:Lio/netty/handler/codec/http2/Http2Headers;
            ifnull 2
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.stream:Lio/vertx/core/http/impl/Http2ServerStream;
            getfield io.vertx.core.http.impl.Http2ServerStream.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.vertx.core.http.HttpHeaders.COOKIE:Ljava/lang/CharSequence;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.CharSequence
            goto 3
      StackMap locals:
      StackMap stack: io.vertx.core.http.impl.Http2ServerResponseImpl
         2: aconst_null
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl
      StackMap stack: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.CharSequence
         3: invokestatic io.vertx.core.http.impl.CookieImpl.extractCookies:(Ljava/lang/CharSequence;)Ljava/util/Map;
            putfield io.vertx.core.http.impl.Http2ServerResponseImpl.cookies:Ljava/util/Map;
         4: .line 712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.cookies:Ljava/util/Map;
            areturn
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/http/impl/ServerCookie;>;

  public io.vertx.core.http.HttpServerResponse addCookie(io.vertx.core.http.Cookie);
    descriptor: (Lio/vertx/core/http/Cookie;)Lio/vertx/core/http/HttpServerResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // io.vertx.core.http.Cookie cookie
         0: .line 717
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         1: .line 718
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 719
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.cookies:()Ljava/util/Map;
            aload 1 /* cookie */
            invokeinterface io.vertx.core.http.Cookie.getName:()Ljava/lang/String;
            aload 1 /* cookie */
            checkcast io.vertx.core.http.impl.ServerCookie
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 717
            aload 2
            monitorexit
         4: goto 7
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl io.vertx.core.http.Cookie io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.http.Cookie cookie
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    8     1  cookie  Lio/vertx/core/http/Cookie;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
        Name  Flags
      cookie  

  public io.vertx.core.http.Cookie removeCookie(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lio/vertx/core/http/Cookie;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 1 // java.lang.String name
        start local 2 // boolean invalidate
         0: .line 726
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.conn:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 3
            monitorenter
         1: .line 727
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkHeadWritten:()V
         2: .line 728
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.cookies:()Ljava/util/Map;
            aload 1 /* name */
            iload 2 /* invalidate */
            invokestatic io.vertx.core.http.impl.CookieImpl.removeCookie:(Ljava/util/Map;Ljava/lang/String;Z)Lio/vertx/core/http/Cookie;
            aload 3
            monitorexit
         3: areturn
         4: .line 726
      StackMap locals: io.vertx.core.http.impl.Http2ServerResponseImpl java.lang.String int io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         5: athrow
        end local 2 // boolean invalidate
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0    6     1        name  Ljava/lang/String;
            0    6     2  invalidate  Z
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
            Name  Flags
      name        
      invalidate  

  public void end(java.lang.Object, io.vertx.core.Handler);
    descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.buffer.Buffer
            aload 2
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.end:(Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.Future end(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.buffer.Buffer
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.end:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void write(java.lang.Object, io.vertx.core.Handler);
    descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.buffer.Buffer
            aload 2
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.Future write(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.buffer.Buffer
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.write:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.WriteStream setWriteQueueMaxSize(int);
    descriptor: (I)Lio/vertx/core/streams/WriteStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.setWriteQueueMaxSize:(I)Lio/vertx/core/http/HttpServerResponse;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.WriteStream exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.WriteStream drainHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.drainHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerResponse;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(io.vertx.core.Context, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Context;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 589
            aload 0
            aload 1
            aload 2 /* ar */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/http/impl/Http2ServerResponseImpl.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         1: .line 592
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$2(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult ar
         0: .line 594
            return
        end local 0 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$3(long, java.lang.String, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (JLjava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
        start local 5 // io.vertx.core.AsyncResult ar
         0: .line 597
            aload 5 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 12
         1: .line 598
            aload 5 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.file.AsyncFile
            astore 6 /* file */
        start local 6 // io.vertx.core.file.AsyncFile file
         2: .line 599
            lload 1
            aload 6 /* file */
            invokeinterface io.vertx.core.file.AsyncFile.getReadLength:()J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 7 /* contentLength */
        start local 7 // long contentLength
         3: .line 600
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_LENGTH:Lio/netty/util/AsciiString;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 5
         4: .line 601
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_LENGTH:Lio/netty/util/AsciiString;
            lload 7 /* contentLength */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.putHeader:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/http/HttpServerResponse;
            pop
         5: .line 603
      StackMap locals: io.vertx.core.file.AsyncFile long
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerResponseImpl.headers:Lio/netty/handler/codec/http2/Http2Headers;
            getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_TYPE:Lio/netty/util/AsciiString;
            invokeinterface io.netty.handler.codec.http2.Http2Headers.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 9
         6: .line 604
            aload 3
            invokestatic io.vertx.core.http.impl.MimeMapping.getMimeTypeForFilename:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* contentType */
        start local 9 // java.lang.String contentType
         7: .line 605
            aload 9 /* contentType */
            ifnull 9
         8: .line 606
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_TYPE:Lio/netty/util/AsciiString;
            aload 9 /* contentType */
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.putHeader:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Lio/vertx/core/http/HttpServerResponse;
            pop
        end local 9 // java.lang.String contentType
         9: .line 609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual io.vertx.core.http.impl.Http2ServerResponseImpl.checkSendHeaders:(Z)Z
            pop
        10: .line 610
            aload 6 /* file */
            aload 0 /* this */
            aload 6 /* file */
            aload 4
            invokedynamic handle(Lio/vertx/core/file/AsyncFile;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/http/impl/Http2ServerResponseImpl.lambda$4(Lio/vertx/core/file/AsyncFile;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.file.AsyncFile.pipeTo:(Lio/vertx/core/streams/WriteStream;Lio/vertx/core/Handler;)V
        end local 7 // long contentLength
        end local 6 // io.vertx.core.file.AsyncFile file
        11: .line 617
            goto 13
        12: .line 618
      StackMap locals:
      StackMap stack:
            aload 4
            aload 5 /* ar */
            invokeinterface io.vertx.core.AsyncResult.mapEmpty:()Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        13: .line 620
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.http.impl.Http2ServerResponseImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lio/vertx/core/http/impl/Http2ServerResponseImpl;
            0   14     5             ar  Lio/vertx/core/AsyncResult<Lio/vertx/core/file/AsyncFile;>;
            2   11     6           file  Lio/vertx/core/file/AsyncFile;
            3   11     7  contentLength  J
            7    9     9    contentType  Ljava/lang/String;

  private static void lambda$1(io.vertx.core.Handler, io.vertx.core.AsyncResult, java.lang.Void);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // java.lang.Void v
         0: .line 590
            aload 0
            aload 1
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         1: .line 591
            return
        end local 2 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     2     v  Ljava/lang/Void;

  private static void lambda$4(io.vertx.core.file.AsyncFile, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/file/AsyncFile;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar1
         0: .line 610
            aload 0
            aload 2 /* ar1 */
            aload 1
            invokedynamic handle(Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/http/impl/Http2ServerResponseImpl.lambda$5(Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.file.AsyncFile.close:(Lio/vertx/core/Handler;)V
         1: .line 616
            return
        end local 2 // io.vertx.core.AsyncResult ar1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     2   ar1  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$5(io.vertx.core.AsyncResult, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar2
         0: .line 611
            aload 0
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 1
            aload 0
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 2 /* ar2 */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 2
            aload 2 /* ar2 */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 3 /* failure */
        start local 3 // java.lang.Throwable failure
         4: .line 612
            aload 3 /* failure */
            ifnonnull 6
         5: .line 613
            aload 1
            aload 0
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            goto 7
         6: .line 615
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1
            aload 3 /* failure */
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 3 // java.lang.Throwable failure
         7: .line 616
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar2
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     2      ar2  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
            4    7     3  failure  Ljava/lang/Throwable;
}
SourceFile: "Http2ServerResponseImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles