code: @Override
  	public VisitorResult visit(final WComponent comp) {
  
  		// Check if root component should be included (if ignore then just continue)
  		if (!includeRoot && comp == root) {
  			return VisitorResult.CONTINUE;
  		}
  
  		boolean match = false;
  		// Check inherited classes
  		outer:
  		for (Class<?> clazz = comp.getClass(); clazz != null; clazz = clazz.getSuperclass()) {
  			// Check if inherited class name is a match
  			if (classNamesMatch(clazz.getName(), className)) {
  				match = true;
  				break;
  			}
  			// Check interfaces
  			for (Class intClazz : clazz.getInterfaces()) {
  				if (classNamesMatch(intClazz.getName(), className)) {
  					match = true;
  					break outer;
  				}
  			}
  		}
  		if (match) {
  			boolean cont = handleFoundMatch(new ComponentWithContext(comp, UIContextHolder.getCurrent()));
  			return cont ? VisitorResult.CONTINUE : VisitorResult.ABORT;
  		}
  		return VisitorResult.CONTINUE;
  	}
docs: {@inheritDoc}