List<ITreeNode> roots = this.getFacetRoots(reqCtx);
if (null == roots) return null;
List<ITreeNode> finalNodes = this.getFinalNodes(requiredFacets);
List<FacetBreadCrumbs> breadCrumbs = new ArrayList<FacetBreadCrumbs>();
for (int i=0; i<finalNodes.size(); i++) {
ITreeNode requiredNode = finalNodes.get(i);
for (int j = 0; j < roots.size(); j++) {
ITreeNode root = roots.get(j);
if (this.isChildOf(requiredNode, root.getCode())) {
breadCrumbs.add(new FacetBreadCrumbs(requiredNode.getCode(), root.getCode(), this.getFacetManager()));
}
}
}
return breadCrumbs;
}