private BinomiNode merge(BinomiKeko eka, BinomiKeko toka) {
        //Tarkistetaan onko toisen juuri null, jos on palautetaan vain toisen juuri.
        if (eka.root == null) {
            return toka.root;
        }
        else if (toka.root == null) {
            return eka.root;
        }
        //Kumpikaan ei ole null, joten valitaan ensimmäinen.
        BinomiNode node = new BinomiNode();
        BinomiNode ekanNode = eka.root;
        BinomiNode tokanNode = toka.root;
        if (ekanNode.arvo < tokanNode.arvo) {
            node = ekanNode;
            ekanNode = ekanNode.sisar;
        }
        else {
            node = tokanNode;
            tokanNode = tokanNode.sisar;
        }
        //Läpikäynti, kunnes toinen tai molemmat on null.
        BinomiNode current = node;
        while (ekanNode != null && tokanNode != null) {
            if (ekanNode.arvo < tokanNode.arvo) {
                current.sisar = ekanNode;
                current = ekanNode;
                ekanNode = ekanNode.sisar;
            }
            else {
                current.sisar = tokanNode;
                current = tokanNode;
                tokanNode = tokanNode.sisar;
            }
        }
        //Lopuksi laitetaan jäljellä olevat mukaan.
        if (ekanNode == null) {
            current.sisar = tokanNode;
        }
        else {
            current.sisar = ekanNode;
        }
        
        return node;
        
    }