code: @SuppressWarnings("unchecked")
  	private AStarNode<ST, PT> node(PT node, double cost, double estimatedCost, ST arrival) {
  		final AStarNode<ST, PT> aNode;
  
  		if (node instanceof AStarNode<?, ?>) {
  			aNode = (AStarNode<ST, PT>) node;
  			aNode.setArrivalConnection(arrival);
  			aNode.setCost(cost);
  			aNode.setEstimatedCost(estimatedCost);
  		} else {
  			aNode = newAStarNode(node, cost, estimatedCost, arrival);
  		}
  
  		return aNode;
  	}
docs: Create a instance of {@link AStarNode A* node}.
  
  @param node is the node of the graph to put in the A* node.
  @param cost is the cost to reach the node.
  @param estimatedCost is the estimated cost to reach the target.
  @param arrival is the segment, which permits to arrive at the node.
  @return the A* node.