code: public List<WebElement> findAll() {
  		checkState(webDriver != null, "No WebDriver specified.");
  		checkState(by != null, "No By instance for locating elements specified.");
  
  		log.info(toString());
  
  		final List<WebElement> result = newArrayList();
  
  		try {
  			if (timeoutSeconds > 0L) {
  				WebDriverWait wait = createWebDriverWait();
  				wait.until(new Function<WebDriver, List<WebElement>>() {
  					@Override
  					public List<WebElement> apply(final WebDriver input) {
  						doFindElements(result, input);
  						if (result.isEmpty()) {
  							// this means, we try again until the timeout occurs
  							throw new WebElementException("No matching element found.");
  						}
  						return result;
  					}
  
  					@Override
  					public String toString() {
  						return WebElementFinder.this.toString();
  					}
  				});
  			} else {
  				doFindElements(result, webDriver);
  			}
  			return result;
  		} catch (TimeoutException ex) {
  			Throwable cause = ex.getCause();
  			for (Class<? extends Throwable> thClass : IGNORED_EXCEPTIONS) {
  				if (thClass.isInstance(cause)) {
  					return ImmutableList.of();
  				}
  			}
  			throw new WebElementException(ex);
  		}
  	}
docs: Finds all elements.
  
  @return the list of elements