override fun onUpdate(tpf: Double) {
emitters.forEach { (emitter, p) ->
val particlesList = particles[emitter]!!
particlesList.addAll(emitter.emit(p.x, p.y))
val iter = particlesList.iterator()
while (iter.hasNext()) {
val particle = iter.next()
if (particle.update(tpf)) {
iter.remove()
pane.children.remove(particle.view)
Pools.free(p) //# Here, the incorrect objects have been retrieved.
} else {
if (particle.view.parent == null)
pane.children.add(particle.view)
}
}
}
}