code: public Options recognize(String path, String method) {
  		List<Object> methods = conditions.getList("method");
  		if (!methods.isEmpty() && !methods.contains(method)) {
  			return null;
  		}
  		if (recognizePattern == null) {
  			recognizePattern = Pattern.compile(recognitionPattern(true));
  		}
  		Matcher match = recognizePattern.matcher(path);
  		Options params = null;
  		if (match.find()) {
  			int nextCapture = 1;
  			params = new Options(getParameterShell());
  			for (Segment segment : segments) {
  				segment.matchExtraction(params, match, nextCapture);
  				nextCapture += segment.numberOfCaptures();
  			}
  		}
  		return params;
  	}
docs: /*----recognize----