public static CGImageDestination FromUrl(NSUrl url, string typeIdentifier, int imageCount, CGImageDestinationOptions options)
        {
            if (url == null)
            {
                throw new ArgumentNullException("url");
            }
            if (typeIdentifier == null)
            {
                throw new ArgumentNullException("typeIdentifier");
            }

            var dict = options == null ? null : options.ToDictionary();
            var ret  = new CGImageDestination(CGImageDestinationCreateWithURL(url.Handle, new NSString(typeIdentifier).Handle, (IntPtr)imageCount, dict == null ? IntPtr.Zero : dict.Handle));

            if (dict != null)
            {
                dict.Dispose();
            }
            return(ret);
        }
        public static CGImageDestination FromData(NSData data, string typeIdentifier, int imageCount, CGImageDestinationOptions options)
        {
            if (data == null)
                throw new ArgumentNullException ("data");
            if (typeIdentifier == null)
                throw new ArgumentNullException ("typeIdentifier");

            var dict = options == null ? null : options.ToDictionary ();
            var ret = new CGImageDestination (CGImageDestinationCreateWithData (data.Handle, new NSString (typeIdentifier).Handle, (IntPtr) imageCount, dict == null ? IntPtr.Zero : dict.Handle));
                        if (dict != null)
                                dict.Dispose ();
            return ret;
        }
        public static CGImageDestination FromUrl(NSUrl url, string typeIdentifier, int imageCount, CGImageDestinationOptions options)
        {
            if (url == null)
                throw new ArgumentNullException ("url");
            if (typeIdentifier == null)
                throw new ArgumentNullException ("typeIdentifier");

            var dict = options == null ? null : options.ToDictionary ();
            var ret = new CGImageDestination (CGImageDestinationCreateWithURL (url.Handle, new NSString (typeIdentifier).Handle, (IntPtr) imageCount, dict == null ? IntPtr.Zero : dict.Handle));
            dict.Dispose ();
            return ret;
        }