code: public static List<ComponentWithContext> findComponentsByClass(final WComponent root, final String className,
  			final boolean includeRoot, final boolean visibleOnly) {
  
  		FindComponentsByClassVisitor visitor = new FindComponentsByClassVisitor(root, className, includeRoot);
  
  		doTraverse(root, visibleOnly, visitor);
  
  		return visitor.getResult() == null ? Collections.EMPTY_LIST : visitor.getResult();
  	}
docs: Search for components implementing a particular class name.
  
  @param root the root component to search from
  @param className the class name to search for
  @param includeRoot check the root component as well
  @param visibleOnly true if process visible only
  
  @return the list of components implementing the class name