@Override
  public String findMailAddressFor(User u) {
    String username = u.getId();

    for (JiraSite site : JiraProjectProperty.DESCRIPTOR.getSites()) {
      try {
        JiraSession session = site.createSession();
        if (session != null) {
          RemoteUser user = session.service.getUser(session.token, username);
          if (user != null) {
            String email = user.getEmail();
            if (email != null) {
              email = unmaskEmail(email);
              return email;
            }
          }
        }
      } catch (IOException ex) {
        LOGGER.log(Level.WARNING, "Unable to create session with " + site.getName(), ex);
      } catch (ServiceException ex) {
        LOGGER.log(Level.WARNING, "Unable to create session with " + site.getName(), ex);
      }
    }
    return null;
  }