public V[] GetExtensions() { Lock readLock = this.readLock; readLock.Lock(); try { int size = set.Count; if (size == 0) { return(EmptyList.EmptyArray <V>()); } V[] array = (V[])Array.CreateInstance(type, size); set.CopyTo(array, 0); return(array); } finally { readLock.Unlock(); } }