| 72 | } |
| 73 | |
| 74 | @CanIgnoreReturnValue |
| 75 | @Override |
| 76 | public boolean putAll(@Nullable K key, Iterable<? extends V> values) { |
| 77 | checkNotNull(values); |
| 78 | // make sure we only call values.iterator() once |
| 79 | // and we only call get(key) if values is nonempty |
| 80 | if (values instanceof Collection) { |
| 81 | Collection<? extends V> valueCollection = (Collection<? extends V>) values; |
| 82 | return !valueCollection.isEmpty() && get(key).addAll(valueCollection); |
| 83 | } else { |
| 84 | Iterator<? extends V> valueItr = values.iterator(); |
| 85 | return valueItr.hasNext() && Iterators.addAll(get(key), valueItr); |
| 86 | } |
| 87 | } |
| 88 | |
| 89 | @CanIgnoreReturnValue |
| 90 | @Override |