docs: public synchronized void enter(long waitTime) {
  
          if (m_singleUse && m_released) {
              return;
          }
  
          try {
              wait(waitTime);
          } catch (InterruptedException e) {
              // should never happen, but log it just in case...
              LOG.error(e.getLocalizedMessage(), e);
          }
      }