public override void UpdateSwarmPositions(ParticleRing<SwarmParticle> particles)
        {
            for (int i = 0; i < particles.Count(); i++)
            {
                SwarmParticle center = particles.ElementAt(i);
                List<SwarmParticle> neighbours = particles.GetNAdjacentParticles(i, NeighbourhoodSize);

                neighbours.OrderBy(n => n.GetCurrentFitness());

                UpdateParticle(center, neighbours.Last());
            }
        }