private void fillHive() {
		for (int i = 0; i < _populationCapacity; i++) {
			boolean newBeeIsWorker = _currentWorkerBeePopulation < _currentPopulation * WORKER_BEE_PERCENTAGE;
			Bee newBee = _simulation.beeFactory().createBee(this, newBeeIsWorker);
			register(newBee, getName() + "." + (newBeeIsWorker ? "WorkerBee" : "HiveBee") + _beeCounter);
			_simulation.environment().addBee(newBee);
			if (newBeeIsWorker) {
				_currentWorkerBeePopulation++;
			}
			_beeCounter++;
			_currentPopulation++;
			newBee.setRandomTimeToLive();
		}
		_simulation.environment().applyInitialInfectionToHive(this, INITIAL_INFECTION_PERCENTAGE);
	}