private final void storeRecommendationsFromPath(Path prefix, List<Path> consideredPaths) {
   String lastCommonExpression = prefix.getLastExpression();
   WaitRecommendations waitRecommendations = getRecommendationsFor(consideredPaths);
   Set<String> recommendationsSet = waitRecommendations.getRecommendations();
   for (String expressionToWaitFor : recommendationsSet) {
     WaitRecommendations recommendationsToStore = waitRecommendations.dup();
     recommendationsToStore.removeExpressionToWaitFor(expressionToWaitFor);
     Map<String, Set<WaitRecommendations>> innerMap = recommendations.get(expressionToWaitFor);
     if (innerMap == null) {
       innerMap = new HashMap<String, Set<WaitRecommendations>>();
       recommendations.put(expressionToWaitFor, innerMap);
     }
     Set<WaitRecommendations> waitSet = innerMap.get(lastCommonExpression);
     if (waitSet == null) {
       waitSet = new HashSet<WaitRecommendations>();
       innerMap.put(lastCommonExpression, waitSet);
     }
     waitSet.add(recommendationsToStore);
   }
 }