def finished?
      return false unless @threads.all? do |t|
        t.recent_scores.size == @jump_cutoff
      end
      probabilities = self.recent_scores_combination_test
      n_significant = 0
      probabilities.each do |mann_u, levene|
        if mann_u <= @adjusted_alpha && levene <= @convergence_alpha
          n_significant += 1
        end
      end
      finish = n_significant >= probabilities.size * 0.5
    end
def finished?
      return false unless @threads.all? do |t|
        t.recent_scores.size == @jump_cutoff
      end
      probabilities = self.recent_scores_combination_test
      n_significant = 0
      probabilities.each do |mann_u, levene|
        if mann_u <= @adjusted_alpha && levene <= @convergence_alpha
          n_significant += 1
        end
      end
      finish = n_significant >= probabilities.size * 0.5
    end
check termination conditions
 and return true if met