protected void updateAllExistingParticles(ParticleEmitter emitterDetails, long elapsedTimeMilliSecs) {
		// If this emitter detail slot is free create, grab a new bunch
		// of values and reset the particle, reusing the original entity
		// for (int j = 0; j < emitterDetails.maximumParticles; j++) {
		Queue<Entity> currentParticles = emitterDetails.currentParticles;
		int startingSize = currentParticles.size();
		int i = 0;
		while (!currentParticles.isEmpty() && i++ < startingSize) {
			Entity particleEntity = emitterDetails.currentParticles.poll();

			Particle particleDetails = particleEntity.getComponent(Particle.class);
			particleDetails.timeAlive -= elapsedTimeMilliSecs;

			// Decide either to add it to our dead queue, or to keep it for the
			// next round of updates
			if (particleDetails.timeAlive > 0) {
				currentParticles.offer(particleEntity);
			} else {
				emitterDetails.deadParticles.add(particleEntity);
			}
		}
	}