         assert(inEventLoop)
         
         do {
-            try (handler as! _ChannelInboundHandler).userInboundEventTriggered(ctx: self, event: event)
+            try self.inboundHandler.userInboundEventTriggered(ctx: self, event: event)
         } catch let err {
             invokeErrorCaught(error: err)
         }

        assert(inEventLoop)
        
        do {
            try (handler as! _ChannelInboundHandler).channelReadComplete(ctx: self)
        } catch let err {
            invokeErrorCaught(error: err)
        }

        assert(inEventLoop)
        
        do {
            try self.inboundHandler.channelWritabilityChanged(ctx: self)
        } catch let err {
            invokeErrorCaught(error: err)
        }
