private void PrepareBracketsWithCompletionHandler(Action <bool, NSError> completion)
        {
            switch (bracketModeControl.SelectedSegment)
            {
            case 0:
                Console.WriteLine("Configuring auto-exposure brackets...");
                bracketSettings = ExposureBrackets;
                break;

            case 1:
                Console.WriteLine("Configuring duration/ISO brackets...");
                bracketSettings = DurationISOBrackets;
                break;
            }

            CMVideoDimensions dimesnions = captureDevice.ActiveFormat.HighResolutionStillImageDimensions;
            var dimensions = new CGSize(dimesnions.Width, dimesnions.Height);

            if (imageStripes != null)
            {
                imageStripes.Dispose();
            }

            imageStripes = new StripedImage(dimensions, (int)dimensions.Width / 12, (int)bracketSettings.Count);
            Console.WriteLine("Warming brackets: {0}", bracketSettings.Count);
            AVCaptureConnection connection = stillImageOutput.ConnectionFromMediaType(AVMediaType.Video);

            stillImageOutput.PrepareToCaptureStillImageBracket(connection, bracketSettings.ToArray(), (success, error) => {
                completion(success, error);
            });
        }
        private void PrepareBracketsWithCompletionHandler(Action<bool, NSError> completion)
        {
            switch (bracketModeControl.SelectedSegment) {
            case 0:
                Console.WriteLine ("Configuring auto-exposure brackets...");
                bracketSettings = ExposureBrackets;
                break;
            case 1:
                Console.WriteLine ("Configuring duration/ISO brackets...");
                bracketSettings = DurationISOBrackets;
                break;
            }

            CMVideoDimensions dimesnions = captureDevice.ActiveFormat.HighResolutionStillImageDimensions;
            var dimensions = new CGSize (dimesnions.Width, dimesnions.Height);

            if (imageStripes != null)
                imageStripes.Dispose ();

            imageStripes = new StripedImage (dimensions, (int)dimensions.Width / 12, (int)bracketSettings.Count);
            Console.WriteLine ("Warming brackets: {0}", bracketSettings.Count);
            AVCaptureConnection connection = stillImageOutput.ConnectionFromMediaType (AVMediaType.Video);
            stillImageOutput.PrepareToCaptureStillImageBracket (connection, bracketSettings.ToArray (), (success, error) => {
                completion (success, error);
            });
        }