code: @Override
  	public Collection<Node> check(final Collection<Node> nodes) {
  		Assert.notNull(nodes, "nodes is null!");
  		this.nodes = nodes;
  
  		result = new LinkedHashSet<Node>();
  		switch (selector.getCombinator()) {
  		case DESCENDANT:
  			addDescendantElements();
  			break;
  		case CHILD:
  			addChildElements();
  			break;
  		case ADJACENT_SIBLING:
  			addAdjacentSiblingElements();
  			break;
  		case GENERAL_SIBLING:
  			addGeneralSiblingElements();
  			break;
  		}
  
  		return result;
  	}
docs: {@inheritDoc}