public List <TerrainNode> reconstruct_path(List <TerrainNode> came_from, TerrainNode current_node) { if (current_node.getCameFrom() != null) { List <TerrainNode> p = reconstruct_path(came_from, current_node.getCameFrom()); p.Add(current_node); return(p); } else { List <TerrainNode> p = new List <TerrainNode>(); p.Add(current_node); return(p); } }