private void EnsureSize(int sizeNeeded) {
if (sizeNeeded <= properties.Length) {
return;
}
if (properties == null || properties.Length == 0) {
propCount = 0;
properties = new PropertyDescriptor[sizeNeeded];
return;
}
EnsurePropsOwned();
int newSize = Math.Max(sizeNeeded, properties.Length * 2);
PropertyDescriptor[] newProps = new PropertyDescriptor[newSize];
Array.Copy(properties, 0, newProps, 0, propCount);
properties = newProps;
}