code: public void runPreStateCrawlingPlugins(CrawlerContext context,
  			ImmutableList<CandidateElement> candidateElements, StateVertex state) {
  		LOGGER.debug("Running PreStateCrawlingPlugins...");
  		counters.get(PreStateCrawlingPlugin.class).inc();
  		for (Plugin plugin : plugins.get(PreStateCrawlingPlugin.class)) {
  			if (plugin instanceof PreStateCrawlingPlugin) {
  				LOGGER.debug("Calling plugin {}", plugin);
  				try {
  					((PreStateCrawlingPlugin) plugin).preStateCrawling(context,
  							candidateElements, state);
  				} catch (RuntimeException e) {
  					reportFailingPlugin(plugin, e);
  				}
  			}
  		}
  	}
docs: load and run the PreStateCrawlingPlugins. Method that is called before the current state is
  crawled (before firing events on the current DOM state). Example: filter candidate elements.
  Warning the session and candidateElements are not clones, changes will result in changed
  behaviour.
  
  @param context           the current {@link CrawlerContext} for this crawler.
  @param candidateElements the elements which crawljax is about to crawl
  @param state             The state being violated.