public SpaceshipBrain Get() { if (nextIndex >= brains.Count) { var newBrain = ComponentUtils.Duplicate(brains[0], factory); brains.Add(newBrain); } return(brains[nextIndex++]); }