question: private int determineMaxLevelRec ( int level , Node v ) { int newLevel = level ; for ( Edge e = v . getFirstOutEdge ( ) ; e != null ; e = v . getNextOutEdge ( e ) ) { newLevel = Math . max ( newLevel , determineMaxLevelRec ( level , e . getTarget ( ) ) + 1 ) ; } return newLevel ; }
target:  recursively does the work