in lib/src/info_helper.dart [140:153]
void traverseNames(Map<String, dynamic> node, List<String> prevPath) {
List<String> newPath = new List.from(prevPath)..add(node['name']);
String id = node['id'];
_path[id] = newPath;
String joined = newPath.join('.');
_joinedPath[id] = joined;
_reverseJoinedPath[joined] = id;
if (node['children'] != null) {
for (String id in node['children']) {
traverseNames(elementById(id), newPath);
}
}
}