docs: protected static String getUserNames(Set<String> ids, String andLocalized) {
  
          List<String> userNames = new ArrayList<String>();
  
          for (String id : ids) {
              CmsSessionInfo session = OpenCms.getSessionManager().getSessionInfo(new CmsUUID(id));
              try {
                  String name = A_CmsUI.getCmsObject().readUser(session.getUserId()).getName();
                  if (!userNames.contains(name)) {
                      userNames.add(name);
                  }
              } catch (CmsException e) {
                  LOG.error("Unable to read user information", e);
              }
          }
  
          Iterator<String> iterator = userNames.iterator();
  
          String res = "";
  
          while (iterator.hasNext()) {
              res += iterator.next();
              if (iterator.hasNext()) {
                  res += ", ";
              }
          }
          int lastPosSeperation = res.lastIndexOf(", ");
  
          return lastPosSeperation == -1
          ? res
          : res.substring(0, lastPosSeperation)
              + " "
              + andLocalized
              + " "
              + res.substring(lastPosSeperation + 2, res.length());
      }