private void RandomlyRotateCubeLayer(CubeRotator cubeRotator)
 {
     var dir = GetRandomDirection();
      var rot = GetRandomAngle();
      cubeRotator.RotateLayer(dir, rot);
 }
        private static void Hardest(CubeRotator rotator)
        {
            rotator.RotateCube(Directions.Up, -90);

             rotator.RotateLayer(Directions.Front, 90);
             rotator.RotateLayer(Directions.Up, -90);
             rotator.RotateLayer(Directions.Front, 180);
             rotator.RotateLayer(Directions.Down, -90);
             rotator.RotateLayer(Directions.Back, 90);
             rotator.RotateLayer(Directions.Up, 90);
             rotator.RotateLayer(Directions.Right, -90);
             rotator.RotateLayer(Directions.Front, -90);
             rotator.RotateLayer(Directions.Left, 90);
             rotator.RotateLayer(Directions.Down, -90);
             rotator.RotateLayer(Directions.Right, -90);
             rotator.RotateLayer(Directions.Up, -90);
             rotator.RotateLayer(Directions.Left, 90);
             rotator.RotateLayer(Directions.Up, 90);
             rotator.RotateLayer(Directions.Back, -90);
             rotator.RotateLayer(Directions.Down, 180);
             rotator.RotateLayer(Directions.Right, -90);
             rotator.RotateLayer(Directions.Front, 90);
             rotator.RotateLayer(Directions.Up, 180);
             rotator.RotateLayer(Directions.Down, 180);
        }