docs: public ImmutableList<CandidateElement> extract(StateVertex currentState)
  			throws CrawljaxException {
  		LinkedList<CandidateElement> results = new LinkedList<>();
  
  		if (!checkedElements.checkCrawlCondition(browser)) {
  			LOG.info("State {} did not satisfy the CrawlConditions.", currentState.getName());
  			return ImmutableList.of();
  		}
  		LOG.debug("Looking in state: {} for candidate elements", currentState.getName());
  
  		try {
  			Document dom = DomUtils.asDocument(browser.getStrippedDomWithoutIframeContent());
  			extractElements(dom, results, "");
  		} catch (IOException e) {
  			LOG.error(e.getMessage(), e);
  			throw new CrawljaxException(e);
  		}
  		if (randomizeElementsOrder) {
  			Collections.shuffle(results);
  		}
  		currentState.setElementsFound(results);
  		LOG.debug("Found {} new candidate elements to analyze!", results.size());
  		return ImmutableList.copyOf(results);
  	}