private void SetFacePosition(VisualCube c, VisualCubeFace fToTurn, CubeFaceType desiredType)
 {
     if (fToTurn.FaceType != desiredType)
     {
         c.TurnCube(fToTurn, desiredType);
     }
 }
        /// <summary>
        /// Gets the start face to organize the corners
        /// </summary>
        /// <param name="c">Cube to search</param>
        /// <param name="blocks">Returns all the blocks with same side of the face</param>
        /// <returns>Returns the selected CubeFace.</returns>
        private VisualCubeFace GetStartFace(VisualCube c, out List<VisualCubeBlock> blocks)
        {
            VisualCubeFace selFace = new VisualCubeFace();
            blocks = new List<VisualCubeBlock>();
            foreach (VisualCubeFace item in c.GetFaces())
            {
                blocks = GetCornersFromSameSide(item);
                if (blocks.Count > 0)
                {
                    //TODO: Select best face to get the corner.
                    selFace = item;
                    break;
                }

            }
            return selFace;
        }
 /// <summary>
 /// Solves the first corners of the cube 
 /// </summary>
 /// <param name="cSolve">Cube to solve</param>
 private void SolveFirstCorners(VisualCube cSolve)
 {
     List<VisualCubeBlock> blocks;
     VisualCubeFace startFace = GetStartFace(cSolve, out blocks);
 }