public void decreaseKey(Fibonaccinode x, int k) {
        if (k > x.value) {
            throw new IllegalArgumentException("You gave a bigger value!");
        }
        x.value = k;
        Fibonaccinode y = x.parent;
        if ((y != null) && (x.value < y.value)) {
            //Leikkaus
            cut(x, y);
            cascadingCut(y);
        }
        if (x.value < min.value) {
            min = x;
        }
    }