return procedure.getCount();
}
public <P> int countWith(final Predicate2<? super T, ? super P> predicate, P parameter)
{
final Counter count = new Counter();
this.forEachWith(new Procedure2<T, P>()
{
public void value(T each, P parm)
{
if (predicate.accept(each, parm))
{
count.increment();
}
}
}, parameter);
return count.getCount();
}