public void AVLdelete(Node poistettava) {
        // Varmistetaan, ettei tyhjää koiteta poistaa
        if (poistettava != null) {
            Node poistettu = delete(poistettava);
            // Jos poistettiin jotain
            if (poistettu != null) {
                Node alipuu;
                Node p = poistettu.parent;
                while (p != null) {
                    Node parent = p.parent;
                    int lChildHeight = -1;
                    int rChildHeight = -1;
                    if (p.left != null) {
                        lChildHeight = p.left.height;
                    }
                    if (p.right != null) {
                        rChildHeight = p.right.height;
                    }
                    if (lChildHeight == rChildHeight + 2) {
                        balanceLeftChild(p);
                        return;

                    }
                    if (rChildHeight == lChildHeight + 2) {
                        balanceRightChild(p);
                        return;
                    }
                    p.height = kumpiKorkeampi(lChildHeight, rChildHeight + 1);
                    // Jatketaan kohti juurta
                    p = parent;

                }
            }
        }
    }