private void cycleNewGame()
    {
        final int notconlength = 30;
        
        Hand h = new Hand(this.HandInput);
        
        int k = 7;
        
        for (int i = 0; i < 15; i++)
        {
            this.MinConnectedLengths[i] = notconlength;            
        }
        for (int i = 0; i < 15; i++)
        {
            this.SurroundStart[i] = 0;
            this.SurroundEnd[i] = 0;

            boolean connected = i == 7;
            // This means that this row is connected to puzzel, so we change the connect length requirement
            if (connected)
            {
                for (int i2 = 0; i2 <= i; i2++)
                {
                    this.MinConnectedLengths[i - i2] = Math.min(this.MinConnectedLengths[i - i2], i2 + 1);                        
                }
            }
        }
        for (int i = 0; i < 14; i++)
        {
            if (
                    (this.MinConnectedLengths[i] < notconlength) &&
                    ((i == 0) || (this.BoardLetters[i - 1][k] == ' '))
               )
            {
                this.StartI = i;
                this.StartK = k;
                this.cycle2(
                        i,
                        k, 
                        Dictionary._WordInfo, 
                        h, 
                        0, 
                        0, 
                        1);                    
            }
        }
    }