public static List <T> search <T>(IUnweightedGraph <T> graph, T start, T goal)
        {
            Dictionary <T, T> cameFrom;
            var foundPath = search(graph, start, goal, out cameFrom);

            return(foundPath ? AStarPathfinder.recontructPath(cameFrom, start, goal) : null);
        }