public Selector(Item <T>[] items) { _randomNumberGenerator = new Random(); _highestBoundary = items.Sum(item => item.Weighting) - 1; _boundaryCalculator = new BoundaryCalculator <T>(); _boundaryCalculator.Calculate(items); }