question: protected Set < Node > closure ( DependencyKind ... depKinds ) { boolean progress = true ; Set < Node > closure = new HashSet < Node > ( ) ; closure . add ( this ) ; while ( progress ) { progress = false ; for ( Node n1 : new HashSet < Node > ( closure ) ) { progress = closure . addAll ( n1 . getDependencies ( depKinds ) ) ; } } return closure ; }
target:  Compute closure of a give node, by recursively walking through all its dependencies (of given kinds)