docs: private String addPathProperty(final List<String> command, final String typeName, final String propertyName, final Map<String, String> properties, final DirectoryGrouping directoryGrouping,
                                     final File typeDir, File serverDir) {
          final String result;
          final String value = properties.get(propertyName);
          if (value == null) {
              switch (directoryGrouping) {
                  case BY_TYPE:
                      result = getAbsolutePath(typeDir, "servers", serverName);
                      break;
                  case BY_SERVER:
                  default:
                      result = getAbsolutePath(serverDir, typeName);
                      break;
              }
              properties.put(propertyName, result);
          } else {
              final File dir = new File(value);
              switch (directoryGrouping) {
                  case BY_TYPE:
                      result = getAbsolutePath(dir, "servers", serverName);
                      break;
                  case BY_SERVER:
                  default:
                      result = getAbsolutePath(dir, serverName);
                      break;
              }
          }
          command.add(String.format("-D%s=%s", propertyName, result));
          return result;
      }