logger.debug("Starting recommender build");
DAGNode<Component, Dependency> graph;
if (cache == null) {
logger.debug("Building directly without a cache");
RecommenderInstantiator ri = RecommenderInstantiator.create(recommenderGraph);
graph = ri.instantiate();
} else {
logger.debug("Instantiating graph with a cache");
try {
Set<DAGNode<Component, Dependency>> nodes = GraphtUtils.getShareableNodes(recommenderGraph);
logger.debug("resolving {} nodes", nodes.size());