@Override
 public <V, R extends MutableMultimap<V, T>> R groupBy(
     Function<? super T, ? extends V> function, R target) {
   this.forEach(MultimapPutProcedure.on(target, function));
   return target;
 }
 /** Implemented to avoid megamorphic call on castProcedure */
 private void batchGroupBy(int start, int end, MultimapPutProcedure<?, T> castProcedure) {
   for (int i = start; i < end; i++) {
     castProcedure.value(this.items[i]);
   }
 }