protected object GetObject(int index) { PoolItem item = null; object obj2; try { item = this.GetItem(index); item.Accesse(); obj2 = this.Unwrap(item); } catch (NullReferenceException) { throw new IndexOutOfRangeException("cann't found item by special index."); } return(obj2); }