void ApplyFilter()
        {
            CIVector center = CIVector.Create(Bounds.GetMidX(), Bounds.GetMidY());
            CIFilter torus  = CIFilter.FromName("CITorusLensDistortion");

            var keys = new NSString[] { CIFilterInputKey.Center,
                                        CIFilterInputKey.Radius,
                                        CIFilterInputKey.Width,
                                        CIFilterInputKey.Refraction };
            var values = new NSObject[] { center,
                                          NSNumber.FromFloat(150),
                                          NSNumber.FromFloat(2),
                                          NSNumber.FromFloat(1.7f) };

            torus.SetValuesForKeysWithDictionary(NSDictionary.FromObjectsAndKeys(values, keys));

            controls.BackgroundFilters = new CIFilter[] { torus };
            AddAnimationToTorusFilter();
        }