code: public boolean matches(String name) {
  		if (name == null) {
  			return pattern.equals("");
  		}
  		if (all != null) {
  			return all.equals(name);
  		}
  		if (middle != null) {
  			return name.contains(middle);
  		}
  		if (start != null && !name.startsWith(start)) {
  			return false;
  		}
  
  		return end == null || name.endsWith(end);
  	}
docs: Checks if Simon name matches this pattern.
  
  @param name tested name
  @return true if tested pattern matches this pattern