Check out this answer , which is also true for Guava Multimap. Also, you may need to read the Kevin Bourrillion blog entry (it will output the Guava host) explaining the same problem (note that add uses a generic type E ):
The real difference is that add () can cause "damage" when called with the wrong type and contains () and remove () cannot.
Evenly, the Java Collection Framework Framework methods (and the Google Collection Library, too) never limit the types of their parameters unless it is necessary to prevent collection collection from being broken.
source share