private void vakautaKeko() {
        /* taulukon koko pitäisi teoriassa olla oikeasti:
           keon suurinasteisen puun aste +1 */
        FibonacciSolmu[] A = new FibonacciSolmu[keonKoko];
        FibonacciSolmu kasiteltava = min;
        kasiteltava = kasiteltava.getLeft();
        int juurienMaara = 1;
        while (kasiteltava != min) {
            juurienMaara++;
            kasiteltava = kasiteltava.getLeft();
        }
        for (int i=0; i<juurienMaara; i++) {
            kasiteltava = lisaaJuuretTaulukkoon(kasiteltava, A);
        }
        min = null;
        for (int i=0; i<keonKoko; i++) {
            if (A[i] != null) {
                if (min == null) {
                    min = A[i];
                }
                else {
                    lisaaSolmuSolmulistaan(A[i], this);
                     if (A[i].getArvo() < min.getArvo()) {
                        min = A[i];
                    }
                }
            }
        }
    }