code: @Transactional
      @Override
      public PrincipalUser findUserByUsername(String userName) {
      	requireNotDisposed();
          requireArgument(userName != null && !userName.trim().isEmpty(), "User name cannot be null or empty.");
  
          PrincipalUser result = PrincipalUser.findByUserName(emf.get(), userName);
  
          _logger.debug("Retrieving user having username {} from db.", userName);
          return result;
      }
docs: ~ Methods **************************************************************************************************************************************