// Map fro issue to message to line number to file name to canonical warning
Map<Issue,Map<String, Map<Integer, Map<String, Warning>>>> map =
Maps.newHashMapWithExpectedSize(2 * maxCount);
for (Map.Entry<Variant,List<Warning>> entry : warningMap.entrySet()) {
Variant variant = entry.getKey();
List<Warning> warnings = entry.getValue();
for (Warning warning : warnings) {
Map<String,Map<Integer,Map<String,Warning>>> messageMap = map.get(warning.issue);
if (messageMap == null) {
messageMap = Maps.newHashMap();