code: public Map<String, List<String>> filterPathSet(Collection<String> paths) {
  
  		Map<String, List<String>> expressions = new HashMap<>();
  		List<String> toRemove = new ArrayList<>();
  		for (Iterator<String> it = paths.iterator(); it.hasNext();) {
  			String path = it.next();
  			if (COMMENTS_PATTERN.matcher(path).matches()) {
  
  				Matcher matcher = OPERATORS_PATTERN.matcher(path);
  				matcher.find();
  				String suffix = matcher.group();
  				suffix = suffix.substring(0, suffix.lastIndexOf("."));
  				String expressionKey = createExpressionKey(suffix);
  
  				if (expressions.containsKey(expressionKey)) {
  					List<String> fileNames = expressions.get(expressionKey);
  					fileNames.add(path);
  				} else {
  					List<String> fileNames = new ArrayList<>();
  					fileNames.add(path);
  					expressions.put(expressionKey, fileNames);
  				}
  				toRemove.add(path);
  			}
  		}
  		// Remove extracted paths from the source collection
  		for (Iterator<String> it = toRemove.iterator(); it.hasNext();) {
  			paths.remove(it.next());
  		}
  
  		return expressions;
  	}
docs: Finds all the paths in a collection which contain IE conditional comment
  syntax, extracts all of them from the collection.
  
  @param paths
  @return A Map with all the extracted paths, in which the key is the
  corresponding IE expression and the value is a List instance
  containing all the paths that match that expression.