private void Pll()
        {
            PllPattern p = new PllPattern();

            for (int i = 0; i < 4; i++)
            {
                Algorithm pll = p.FindBestMatch(Pattern.FromRubik(Rubik), CubeFlag.TopLayer, PatternFilter.SameInversionCount);
                if (pll != null)
                {
                    SolverAlgorithm(pll); break;
                }
                SolverMove(CubeFlag.TopLayer, true);
            }
        }
 private void Pll()
 {
     PllPattern p = new PllPattern();
       for (int i = 0; i < 4; i++)
       {
     Algorithm pll = p.FindBestMatch(Pattern.FromRubik(Rubik), CubeFlag.TopLayer, PatternFilter.SameInversionCount);
     if (pll != null) { SolverAlgorithm(pll); break; }
     SolverMove(CubeFlag.TopLayer, true);
       }
 }