public object[] ToArray() { if ( _oa != null ) return _oa; if (_ilist != null) { object[] items = new object[_ilist.Count]; for (int i = 0; i < _ilist.Count; i++) items[i] = _ilist[i]; return items; } return (object[])_a; }