code: public void release(final long identifier) throws InterruptedException, InvalidIdentifierException {
      final ComplexCondition call = getSleeper(identifier);
      if (call.isHeldByCurrentThread()) {
        throw new RuntimeException("release() must not be called on same thread as block() to prevent deadlock");
      }
      try {
        call.lock();
        LOG.log(Level.FINER, "Waking caller sleeping on identifier [{0}]", identifier);
        call.signal();
      } finally {
        call.unlock();
      }
    }
docs: Wake the caller sleeping on the specific identifier.
  @param identifier The message identifier of the caller who should be released.