code: public synchronized ReentrantLock requestAccess(AuthenticationData authenticationData) {
          ReentrantLock currentLock = null;
          currentLock = authenticationDataLocks.get(authenticationData);
          if (currentLock == null) {
              currentLock = new ReentrantLock();
              authenticationDataLocks.put(authenticationData, currentLock);
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "The size of the authenticationDataLocks is ", authenticationDataLocks.size());
          }
          return currentLock;
      }
docs: Obtains a reentrant lock for the given authentication data.
  
  @param authenticationData
  @return the reentrant lock assigned to the given authentication data.