private List<Integer> obterPopulacaoParaCrossOver(BigDecimal[] rand, Populacao populacao) {
        List<Integer> index = new ArrayList<Integer>();
        boolean paresNaoDefinidos = true;
        int tamanho = populacao.getTamanhoDaPopulacao() % 2 != 0 ? populacao.getTamanhoDaPopulacao() : populacao.getTamanhoDaPopulacao() - 1;
        int i = 0;
        int contadorEmergencial = 0;

        while(i < tamanho - 1 || index.size() % 2 == 1){
            if(i > tamanho) return index;
            double numero;

            if(i == tamanho && index.size() % 2 == 1){
                i--;
                numero = rand[contadorEmergencial].doubleValue();
                contadorEmergencial++;
            } else {
                numero = rand[i].doubleValue();
            }

            if(numero < populacao.getIndividuo()[i].getCromossomoDouble()){
                index.add(i);
            }

            i++;
        }

        return index;
    }