ListMultimap の置換

Google の ListMultimap の List<V> replaceValues(K key,Iterable<? extends V> values)
が、置き換え対象が、Iterable<? extends V> であり、結局はKeyに紐つく全体を置き換えることに
なり、リストの1要素だけ置き換えたい場合に不便である。ArrayListMultimap は、finalなので
継承はできないので、しかたなく書いてみた。

import java.util.List;
import com.google.common.collect.ListMultimap;
/**
 * ListMultimap の置換など。。
 */
public final class ListMultiHelper{
   private ListMultiHelper(){}

   public static <K,V> void replaceIndexValue(ListMultimap<K,V> m,K key,int index,V value){
      List<V> list = m.get(key);
      list.remove(index);
      list.add(index,value);

   }

   public static <E> List<E> replace(List<E> list,int index,E e){
      list.remove(index);
      list.add(index,e);
      return list;
   }
}