code: private static <K, V> SetMultimap<K, V> filterFiltered(
        FilteredSetMultimap<K, V> multimap,
        Predicate<? super Entry<K, V>> entryPredicate) {
      Predicate<Entry<K, V>> predicate
          = Predicates.and(multimap.entryPredicate(), entryPredicate);
      return new FilteredEntrySetMultimap<K, V>(multimap.unfiltered(), predicate);
    }
docs: Support removal operations when filtering a filtered multimap. Since a filtered multimap has
  iterators that don't support remove, passing one to the FilteredEntryMultimap constructor would
  lead to a multimap whose removal operations would fail. This method combines the predicates to
  avoid that problem.