public void returnFury(Fury fury) {
    Objects.requireNonNull(fury);
    try {
      lock.lock();
      idleCacheQueue.add(fury);
      activeCacheNumber.decrementAndGet();
      furyCondition.signalAll();
    } catch (Exception e) {
      LOG.error(e.getMessage(), e);
      throw new RuntimeException(e);
    } finally {
      lock.unlock();
    }
  }
@Test
  public void testReturnFuryForbidden() {
    ClassLoaderFuryPooled pooled = getPooled(4, 9);
    Assert.assertThrows(NullPointerException.class, () -> pooled.returnFury(null));
  }