code: private String getEmailAddresses() {
  
          List<String> emails = new ArrayList<String>();
          Iterator<String> itGroups = getGroups().iterator();
          while (itGroups.hasNext()) {
              String groupName = itGroups.next();
              try {
                  Iterator<CmsUser> itUsers = getCms().getUsersOfGroup(groupName, true).iterator();
                  while (itUsers.hasNext()) {
                      CmsUser user = itUsers.next();
                      String emailAddress = user.getEmail();
                      if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(emailAddress) && !emails.contains(emailAddress)) {
                          emails.add(emailAddress);
                      }
                  }
              } catch (Exception e) {
                  LOG.error(e.getLocalizedMessage(), e);
              }
          }
          StringBuffer result = new StringBuffer(256);
          Iterator<String> itEmails = emails.iterator();
          while (itEmails.hasNext()) {
              result.append(itEmails.next());
              if (itEmails.hasNext()) {
                  result.append("; ");
              }
          }
          return result.toString();
      }
docs: Returns a semicolon separated list of email addresses.<p>
  
  @return a semicolon separated list of email addresses