public static ArrayList EnumerableToArray(IEnumerable collection, bool alwaysCreate)
{
if (collection == null)
return new ArrayList();
if (!alwaysCreate) {
ArrayList array = collection as ArrayList;
if (array != null)
return array;
IList iList = collection as IList;
if (iList != null)
return ArrayList.Adapter(iList);
}
ICollection iCollection = collection as ICollection;
if (iCollection != null)
return new ArrayList(iCollection);
ArrayList newObjects = new ArrayList();
foreach (object x in collection)
newObjects.Add(x);
return newObjects;
}