let check_connected start_nodes node_list =
  let _ = visit_graph start_nodes in
  let rec helper node_list = match node_list with
      (id,_,visited)::rest -> 
        if !visited then 
          helper rest 
        else 
          raise_fsm_error ["State machine error: state graph is disconnected.  State ";
                           get_state_name id;
                           " is not reachable."]
    | [] -> ()
  in 
    helper node_list