question: calculates the set of values of nodes reachable from the start nodes . concode_field_sep Map<N,Set<T>> cachedNodeValues concode_elem_sep N node concode_elem_sep int component concode_elem_sep Set<NodeDetails<N,T>> componentMembers concode_elem_sep int minSeen concode_elem_sep Set<NodeDetails<N,T>> strongComponents concode_elem_sep List<N> startNodes concode_elem_sep List<N> successors concode_elem_sep boolean finished concode_elem_sep Set<T> values concode_elem_sep DirectedGraph<N,T> graph concode_elem_sep boolean stronglyConnected concode_field_sep CachingDirectedGraphWalker<N,T> add concode_elem_sep CachingDirectedGraphWalker add concode_elem_sep List<Set<N>> findCycles concode_elem_sep void getNodeValues concode_elem_sep Set<T> doSearch concode_elem_sep void getEdgeValues
target: Set < T > function ( ) { try { return doSearch ( ) ; } finally { startNodes . clear ( ) ; } }