code: public static <A, S, C extends Comparable<C>> ADStarForward<A, S, C, ADStarNodeImpl<A, S, C>> createADStar(
  			SearchComponents<A, S, C> components) {
  		// node factory instantiation
  		ADStarNodeFactory<A, S, C> factory = new ADStarNodeFactory<A, S, C>(components);
  		// node expander instantiation
  		ADStarNodeExpander<A, S, C, ADStarNodeImpl<A, S, C>> expander = new ADStarNodeExpander<A, S, C, ADStarNodeImpl<A, S, C>>(
  				components, factory, 1.0);
  		// instantiate algorithm
  		return new ADStarForward(components.getBegin(), Collections.singleton(components.getGoal()), expander);
  	}
docs: Instantiates a Anytime Dynamic A* algorithm given the search components.
  Search components can be obtained easily for graph-based problems using
  {@link es.usc.citius.hipster.util.graph.GraphSearchProblem}.
  
  @param components
  search components to be used by the algorithm
  @param <A>
  type of the actions
  @param <S>
  type of the states
  @param <C>
  type of the cost
  @return instance of {@link es.usc.citius.hipster.algorithm.ADStarForward}
  for the search components