code: public synchronized PathMatcher addPrefixPath(final String path, final T handler) {
          if (path.isEmpty()) {
              throw UndertowMessages.MESSAGES.pathMustBeSpecified();
          }
  
          final String normalizedPath = URLUtils.normalizeSlashes(path);
  
          if (PathMatcher.STRING_PATH_SEPARATOR.equals(normalizedPath)) {
              this.defaultHandler = handler;
              return this;
          }
  
          paths.put(normalizedPath, handler);
  
          buildLengths();
          return this;
      }
docs: Adds a path prefix and a handler for that path. If the path does not start
  with a / then one will be prepended.
  <p>
  The match is done on a prefix bases, so registering /foo will also match /bar. Exact
  path matches are taken into account first.
  <p>
  If / is specified as the path then it will replace the default handler.
  
  @param path    The path
  @param handler The handler