docs: public String extractPathWithinPattern(String pattern, String path) {
  		String[] patternParts = StringUtils.tokenizeToStringArray(pattern, this.pathSeparator, this.trimTokens, true);
  		String[] pathParts = StringUtils.tokenizeToStringArray(path, this.pathSeparator, this.trimTokens, true);
  		StringBuilder builder = new StringBuilder();
  		boolean pathStarted = false;
  
  		for (int segment = 0; segment < patternParts.length; segment++) {
  			String patternPart = patternParts[segment];
  			if (patternPart.indexOf('*') > -1 || patternPart.indexOf('?') > -1) {
  				for (; segment < pathParts.length; segment++) {
  					if (pathStarted || (segment == 0 && !pattern.startsWith(this.pathSeparator))) {
  						builder.append(this.pathSeparator);
  					}
  					builder.append(pathParts[segment]);
  					pathStarted = true;
  				}
  			}
  		}
  
  		return builder.toString();
  	}