docs: @Override
      public IPersonAttributes findPerson(final IPerson searcher, final String username) {
  
          // get the IAuthorizationPrincipal for the searching user
          final IAuthorizationPrincipal principal = getPrincipalForUser(searcher);
  
          // build a set of all possible user attributes the current user has
          // permission to view
          final Set<String> permittedAttributes = getPermittedAttributes(principal);
  
          // get the set of people matching the search query
          final IPersonAttributes person = this.personAttributeDao.getPerson(username);
  
          if (person == null) {
              logger.info("No user found with username matching " + username);
              return null;
          }
  
          // if the current user has permission to view this person, construct
          // a new representation of the person limited to attributes the
          // searcher has permissions to view
          return getVisiblePerson(principal, person, permittedAttributes);
      }