public static <T, P, A> ArrayList<A> collectWith(
            ArrayList<T> list,
            Function2<? super T, ? super P, ? extends A> function,
            P parameter)
    {
        return ArrayListIterate.collectWith(list, function, parameter, new ArrayList<A>(list.size()));
    }
public static < T , P , A > ArrayList < A > collectWith ( ArrayList < T > list , Function2 < ? super T , ? super P , ? extends A > function , P parameter ) { return ArrayListIterate . collectWith ( list , function , parameter , new ArrayList < A > ( list . size ( ) ) ) ; }
@see Iterate#collectWith(Iterable, Function2, Object)