public System.Array Collect(Predicate predicate, Type returnItemType)
{
if (null == predicate)
{
throw new ArgumentNullException("predicate");
}
if (null == returnItemType)
{
throw new ArgumentNullException("returnItemType");
}
ArrayList items = new ArrayList();
InnerCollect(items, predicate);
return items.ToArray(returnItemType);
}