private void cycle2(
            int i,
            int k, 
            WordInfo wf,
            Hand h,
            int cross_score,
            int word_score,
            int word_mult
        )
    {          
        if (WordFinder.killAllNow)
        {
            // Kill It
        } 
        else if (this.BoardLetters[i][k] == ' ') // If open space
        {            
            for (char cc : h.AvailableTiles) // Iterate through hand
            {                
                if (cc == '?') // If hand is wild
                {                    
                    for (char c : PossibleWilds) // Iterate through letters
                    {
                        this.cycle3(
                                i,
                                k, 
                                wf, 
                                h, 
                                cross_score, 
                                word_score, 
                                word_mult, 
                                cycle3.Wild, 
                                c);
                    }           
                }
                else // If hand not wild
                {
                    this.cycle3(
                            i,
                            k, 
                            wf, 
                            h, 
                            cross_score, 
                            word_score, 
                            word_mult, 
                            cycle3.Hand, 
                            cc);                
                }            
            }     
        }
        else // If Not Open Space
        {
            this.cycle3(
                    i,
                    k, 
                    wf, 
                    h, 
                    cross_score, 
                    word_score, 
                    word_mult, 
                    cycle3.Board, 
                    this.BoardLetters[i][k]);                            
        }
    }