private static IDynamicMessageSink[] GrowDynamicSinksArray(IDynamicMessageSink[] sinks)
{
// grow the array
int newSize = (sinks != null ? sinks.Length : 0) + GROW_BY;
IDynamicMessageSink[] newSinks = new IDynamicMessageSink[newSize];
if (sinks != null)
{
// Copy existing properties over
// Initial size should be chosen so that this rarely happens
Array.Copy(sinks, newSinks, sinks.Length);
}
return newSinks;
}