@TypeInfo("io.vertx.ceylon.core.http::WebSocketStream")
 public WebSocketStream handler(
     final @TypeInfo("ceylon.language::Anything(io.vertx.ceylon.core.http::WebSocket)?") @Name(
             "handler") Callable<?> handler) {
   io.vertx.core.Handler<io.vertx.core.http.WebSocket> arg_0 =
       handler == null
           ? null
           : new io.vertx.core.Handler<io.vertx.core.http.WebSocket>() {
             public void handle(io.vertx.core.http.WebSocket event) {
               handler.$call$(
                   (Object)
                       io.vertx.ceylon.core.http.WebSocket.TO_CEYLON
                           .converter()
                           .safeConvert(event));
             }
           };
   WebSocketStream ret =
       io.vertx.ceylon.core.http.WebSocketStream.TO_CEYLON
           .converter()
           .safeConvert(delegate.handler(arg_0));
   return this;
 }