code: @Override
     protected synchronized void internalLock(String sessionId, String nodeIdentifier) throws LockException
     {
        CacheableSessionLockManager session = sessionLockManagers.get(sessionId);
        if (session != null && session.containsPendingLock(nodeIdentifier))
        {
           LockData lockData = session.getPendingLock(nodeIdentifier);
  
           // this will return null if success. And old data if something exists...
           LockData oldLockData = doPut(lockData);
  
           if (oldLockData != null)
           {
              throw new LockException("Unable to write LockData. Node [" + lockData.getNodeIdentifier()
                 + "] already has LockData!");
           }
  
           session.notifyLockPersisted(nodeIdentifier);
        }
        else
        {
           throw new LockException("No lock in pending locks");
        }
     }
docs: {@inheritDoc}