### Question:
TransportWriteThrottle implements TransportThrottle { @Override public void install( Channel channel ) { ThrottleLock lock = lockSupplier.get(); channel.attr( LOCK_KEY ).set( lock ); channel.config().setWriteBufferWaterMark( new WriteBufferWaterMark( lowWaterMark, highWaterMark ) ); channel.pipeline().addLast( listener ); } TransportWriteThrottle( int lowWaterMark, int highWaterMark, Clock clock, Duration maxLockDuration );  TransportWriteThrottle( int lowWaterMark, int highWaterMark, Clock clock, Duration maxLockDuration, Supplier<ThrottleLock> lockSupplier ); @Override void install( Channel channel ); @Override void acquire( Channel channel ); @Override void release( Channel channel ); @Override void uninstall( Channel channel );  }### Answer:
@Test public void shouldSetWriteBufferWatermarkOnChannelConfigWhenInstalled() { TransportThrottle throttle = newThrottle(); throttle.install( channel ); ArgumentCaptor<WriteBufferWaterMark> argument = ArgumentCaptor.forClass( WriteBufferWaterMark.class ); verify( config, times( 1 ) ).setWriteBufferWaterMark( argument.capture() ); assertEquals( 64, argument.getValue().low() ); assertEquals( 256, argument.getValue().high() ); }