docs: private void convertConfiguredAppendersToAsync(Properties props) throws ConfigurationException, FileNotFoundException {
          for (Map.Entry<String, String> originalAsyncAppenderMapEntry : originalAsyncAppenderNameMap.entrySet()) {
              String asyncAppenderName = originalAsyncAppenderMapEntry.getValue();
              props.setProperty(LOG4J_APPENDER_PREFIX + LOG4J_APPENDER_DELIMITER + asyncAppenderName, AsyncAppender.class.getName());
              // Set the original appender so that it can be fetched later after configuration
              
              String originalAppenderName = originalAsyncAppenderMapEntry.getKey();
              props.setProperty(LOG4J_APPENDER_PREFIX + LOG4J_APPENDER_DELIMITER
                      + asyncAppenderName + LOG4J_APPENDER_DELIMITER
                      + PROP_LOG4J_ORIGINAL_APPENDER_NAME, originalAppenderName);
              // Set the batcher to reject the collector request instead of it
              // participating in processing
              this.initialProps.setProperty("batcher." + AsyncAppender.class.getName() + "." + originalAppenderName + "." + "rejectWhenFull", "true");
              
              // Set the default value of the processing max threads to 1, if a
              // value is not specified
              String maxThreads = this.initialProps.getProperty("batcher." + AsyncAppender.class.getName() + "." + originalAppenderName + "." + "maxThreads");
              if (maxThreads == null) {
                  this.initialProps.setProperty("batcher." + AsyncAppender.class.getName() + "." + originalAppenderName + "." + "maxThreads", "1");
              }
  
              for (Map.Entry mapEntry : props.entrySet()) {
                  String key = mapEntry.getKey().toString();
                  if ((key.contains(LOG4J_PREFIX) || key.contains(ROOT_CATEGORY) || key.contains(ROOT_LOGGER))
                          && !key.contains(PROP_LOG4J_ASYNC_APPENDERS)
                          && !key.contains(PROP_LOG4J_ORIGINAL_APPENDER_NAME)) {
                      Object value = mapEntry.getValue();
                      if (value != null) {
                          String[] values = (String.class.cast(value)).split(",");
                          String valueString = "";
                          int ctr = 0;
                          for (String oneValue : values) {
                              if (oneValue == null) {
                                  continue;
                              }
                              ++ctr;
                              if (originalAppenderName.equals(oneValue.trim())) {
                                  oneValue = asyncAppenderName;
                              }
                              if (ctr != values.length) {
                                  valueString = valueString + oneValue + ",";
                              } else {
                                  valueString = valueString + oneValue;
                              }
                          }
                          mapEntry.setValue(valueString);
                      }
                  }
              }
          }
      }