@Test
public void removeReturnFalseInsteadOfThrowingAfterUnderlyingPoolResourceException ()  {

    ResizePolicy resizePolicy = mock(ResizePolicy.class);
    when(resizePolicy.increase(any())).then((Answer<Boolean>) invocationOnMock -> {
        throw new PoolResourceException("test");
    });
    ByteBufPooledObjectOps pooledObjectOps = new ByteBufPooledObjectOps(
            byteBufAllocator,
            DEFAULT_TEST_ITEM_SIZE_IN_BYTES) {
    };
    GenericItemSourcePool<ByteBuf> pool = spy(new GenericItemSourcePool<>(
            DEFAULT_TEST_ITEM_POOL_NAME,
            pooledObjectOps,
            resizePolicy,
            0,
            false,
            DEFAULT_TEST_MONITOR_TASK_INTERVAL,
            0
    ));
    // when
    boolean resized = pool.remove();
    // then
    assertFalse(resized);
}