refactored SearchGraph,
added check for iterator in TestDepthFirstSearch
made protected a recursiveCall in DepthFirstSearch