docs: public S match(String line) {
  
  		S value = null;
  		Assert.notNull(line, "A non-null key must be provided to match against.");
  
  		for (String key : this.sorted) {
  			if (PatternMatcher.match(key, line)) {
  				value = this.map.get(key);
  				break;
  			}
  		}
  
  		if (value == null) {
  			throw new IllegalStateException(
  					"Could not find a matching pattern for key=[" + line + "]");
  		}
  		return value;
  
  	}