ObjectPool getFromPool(GunObject gun, PooledObject target, ref List <ObjectPool> fromPool) { ObjectPool pool = null; if ((pool = fromPool.Find(x => (x.pooledObj.GetHashCode() == target.GetHashCode()))) == null) { pool = new ObjectPool(target); fromPool.Add(pool); } return(pool); }