### Question:
ConfigurableIOLimiter implements IOLimiter { @Override public boolean isLimited() { return getDisabledCounter( state ) == 0; } ConfigurableIOLimiter( Config config ); @VisibleForTesting  ConfigurableIOLimiter( Config config, ObjLongConsumer<Object> pauseNanos ); @Override long maybeLimitIO( long previousStamp, int recentlyCompletedIOs, Flushable flushable ); @Override void disableLimit(); @Override void enableLimit(); @Override boolean isLimited();  }### Answer:
@Test public void configuredLimitMustReflectCurrentState() { createIOLimiter( 100 ); assertThat( limiter.isLimited(), is( true ) ); multipleDisableShouldReportUnlimited( limiter ); assertThat( limiter.isLimited(), is( true ) ); }
@Test public void configuredDisabledLimitShouldBeUnlimited() { createIOLimiter( -1 ); assertThat( limiter.isLimited(), is( false ) ); multipleDisableShouldReportUnlimited( limiter ); assertThat( limiter.isLimited(), is( false ) ); }