code: public void releaseExclusiveLock() throws NoExclusiveLockException
    {
      if (tc.isEntryEnabled()) Tr.entry(tc, "releaseExclusiveLock",this);
  
      Thread currentThread = Thread.currentThread();
  
      synchronized(this)
      {
        if ((_threadHoldingExclusiveLock == null) || (!_threadHoldingExclusiveLock.equals(currentThread)))
        {
          if (tc.isEntryEnabled()) Tr.exit(tc, "releaseExclusiveLock", "NoExclusiveLockException");
          throw new NoExclusiveLockException();
        }
  
        _threadHoldingExclusiveLock = null;
        _threadRequestingExclusiveLock = null;
  
        // There may be thread waiting for the exclusive lock to be released. Notify them of this event.
        this.notifyAll();
      }
  
      if (tc.isEntryEnabled()) Tr.exit(tc, "releaseExclusiveLock");
    }
docs: Releases the exclusive lock.
  
  @exception NoExclusiveLockException The caller does not hold the exclusive lock.