public virtual PropertyDescriptorCollection Sort(string[] order, IComparer comparer)
{
PropertyDescriptorCollection col = CloneCollection();
if (order != null)
{
ArrayList sorted = col.ExtractItems(order);
col.InternalSort(comparer);
sorted.AddRange(col.properties);
col.properties = sorted;
}
else
{
col.InternalSort(comparer);
}
return(col);
}