Added Google Guava dependency. Use Guava's ListMultimap instead of Map<K, List<V>>.