void consolidate() {
        // Tworzenie odpowiedniej wielkosci tablicy
        int dn = (int) Math.floor(Math.log(size) / Math.log(2)) + 2;
        Entry[] a = new Entry[dn];

        // Wezel wspomagajacy iteracje
        // ++
        access += 1;
        Entry iter = minimum;

        // Aktualny wezel
        // ++
        access += 1;
        Entry w = iter;

        Entry x;
        Entry y;
        Entry temp;

        int d;

        do {
            // ++
            access += 1;
            x = w;
            d = x.degree;

            // ++ ++
            access += 2;
            if (a[d] != x) {
                while (a[d] != null) {
                    // ++
                    access += 1;
                    // y ma taki sam stopien jak x
                    // ++ ++
                    access += 2;
                    y = a[d];
                    // ++ ++
                    access += 2;
                    if (x.getValue() > y.getValue()) {
                        // Swap x i y.
                        // ++
                        access += 1;
                        temp = x;
                        // ++ ++
                        access += 2;
                        x = y;
                        // ++ ++
                        access += 2;
                        y = temp;
                    }
                    // Zrob z "y" syna "x-a"
                    link(y, x);
                    // ++ ++
                    access += 2;
                    iter = x;
                    // ++ ++
                    access += 2;
                    w = x;
                    a[d] = null;
                    d += 1;
                }
                // ++ ++
                access += 2;
                a[d] = x;
            }

            // Nastepny wezel
            // ++ ++ ++
            access += 3;
            w = w.right;
        }
        while (w != iter);

        // Reset. Iterowanie od poczatku listy
        // ++ ++
        access += 2;
        minimum = iter;
        // ++ ++
        access += 2;
        w = iter;

        // Znajdz nowe minimum na liscie roota
        do {
            // ++ ++
            // ++ ++
            access += 2; // while
            access += 2; // if
            if (w.getValue() < minimum.getValue()) {
                // Znaleziono nowe minimum
                // ++ ++
                access += 2;
                minimum = w;
            }

            // Nastepny
            // ++ ++ ++
            access += 3;
            w = w.right;
        }
        while (w != iter);

    }