code: 	public BeanDefinition createMatcher(ParserContext pc, String path, String method) {
  		if (("/**".equals(path) || "**".equals(path)) && method == null) {
  			return new RootBeanDefinition(AnyRequestMatcher.class);
  		}
  
  		BeanDefinitionBuilder matcherBldr = BeanDefinitionBuilder
  				.rootBeanDefinition(type);
  
  		if (this == mvc) {
  			if (!pc.getRegistry().isBeanNameInUse(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME)) {
  				BeanDefinitionBuilder hmifb = BeanDefinitionBuilder
  						.rootBeanDefinition(HandlerMappingIntrospectorFactoryBean.class);
  				pc.getRegistry().registerBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_FACTORY_BEAN_NAME,
  						hmifb.getBeanDefinition());
  
  				RootBeanDefinition hmi = new RootBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME);
  				hmi.setFactoryBeanName(HANDLER_MAPPING_INTROSPECTOR_FACTORY_BEAN_NAME);
  				hmi.setFactoryMethodName("createHandlerMappingIntrospector");
  				pc.getRegistry().registerBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME, hmi);
  			}
  			matcherBldr.addConstructorArgReference(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME);
  		}
  
  		matcherBldr.addConstructorArgValue(path);
  		if (this == mvc) {
  			matcherBldr.addPropertyValue("method", method);
  		}
  		else {
  			matcherBldr.addConstructorArgValue(method);
  		}
  
  		if (this == ciRegex) {
  			matcherBldr.addConstructorArgValue(true);
  		}
  
  		return matcherBldr.getBeanDefinition();
  	}
  
  