in lib/src/info_helper.dart [165:182]
Set<String> _triviallyReachedFrom(String id) {
Queue<String> queue = new Queue<String>();
Set<String> owns = new Set<String>();
queue.add(id);
owns.add(id);
while (queue.isNotEmpty) {
String next = queue.removeFirst();
for (String child in dependencies(next).map((a) => a.elementId)) {
if (!owns.contains(child) && _parentsAllContained(child, owns)) {
queue.add(child);
owns.add(child);
}
}
}
return owns;
}