docs: ByteArrayInputStream getExportStream() {
  
          Map<CmsUUID, CmsUser> exportUsers = getUserToExport();
  
          StringBuffer buffer = new StringBuffer();
          CmsUserExportSettings settings = OpenCms.getImportExportManager().getUserExportSettings();
  
          String separator = CmsStringUtil.substitute(settings.getSeparator(), "\\t", "\t");
          List<String> values = settings.getColumns();
  
          buffer.append("name");
          Iterator<String> itValues = values.iterator();
          while (itValues.hasNext()) {
              String colName = itValues.next();
              if (isColumnExportable(colName)) {
                  buffer.append(separator);
                  buffer.append(colName);
              }
          }
          buffer.append("\n");
  
          Object[] users = exportUsers.values().toArray();
  
          for (int i = 0; i < users.length; i++) {
              CmsUser exportUser = (CmsUser)users[i];
              if (!isExportable(exportUser)) {
                  continue;
              }
              buffer.append(exportUser.getSimpleName());
              itValues = values.iterator();
              while (itValues.hasNext()) {
                  buffer.append(separator);
                  String curValue = itValues.next();
                  if (isColumnExportable(curValue)) {
                      try {
                          Method method = CmsUser.class.getMethod(
                              "get" + curValue.substring(0, 1).toUpperCase() + curValue.substring(1));
                          String curOutput = (String)method.invoke(exportUser);
                          if (CmsStringUtil.isEmptyOrWhitespaceOnly(curOutput) || curOutput.equals("null")) {
                              curOutput = (String)exportUser.getAdditionalInfo(curValue);
                          }
  
                          if (curValue.equals("password")) {
                              curOutput = OpenCms.getPasswordHandler().getDigestType() + "_" + curOutput;
                          }
  
                          if (!CmsStringUtil.isEmptyOrWhitespaceOnly(curOutput) && !curOutput.equals("null")) {
                              buffer.append(curOutput);
                          }
                      } catch (NoSuchMethodException e) {
                          Object obj = exportUser.getAdditionalInfo(curValue);
                          if (obj != null) {
                              String curOutput = String.valueOf(obj);
                              if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(curOutput)) {
                                  buffer.append(curOutput);
                              }
                          }
                      } catch (IllegalAccessException e) {
                          //
                      } catch (InvocationTargetException e) {
                          //
                      }
                  }
              }
              buffer.append("\n");
  
          }
          return new ByteArrayInputStream(buffer.toString().getBytes());
      }