public virtual void SetOrder(AFOrder order)
 {
     if (order == null)
     {
         throw new ArgumentNullException("order");
     }
     if (IsDirectBinding)
     {
         global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr(this.Handle, Selector.GetHandle("setOrder:"), order.Handle);
     }
     else
     {
         global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr(this.SuperHandle, Selector.GetHandle("setOrder:"), order.Handle);
     }
 }
        public AFTrackPointsBuilder(string appName, string sectionName, AFProduct[] products, AFOrder order, NSNumber[] trackpointIds)
            : base(NSObjectFlag.Empty)
        {
            if (appName == null)
            {
                throw new ArgumentNullException("appName");
            }
            if (sectionName == null)
            {
                throw new ArgumentNullException("sectionName");
            }
            if (products == null)
            {
                throw new ArgumentNullException("products");
            }
            if (order == null)
            {
                throw new ArgumentNullException("order");
            }
            if (trackpointIds == null)
            {
                throw new ArgumentNullException("trackpointIds");
            }
            var nsappName         = NSString.CreateNative(appName);
            var nssectionName     = NSString.CreateNative(sectionName);
            var nsa_products      = NSArray.FromNSObjects(products);
            var nsa_trackpointIds = NSArray.FromNSObjects(trackpointIds);

            IsDirectBinding = GetType().Assembly == global::ApiDefinition.Messaging.this_assembly;
            if (IsDirectBinding)
            {
                InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr_IntPtr_IntPtr_IntPtr(this.Handle, Selector.GetHandle("initWithAppName:sectionName:products:order:trackPointIds:"), nsappName, nssectionName, nsa_products.Handle, order.Handle, nsa_trackpointIds.Handle), "initWithAppName:sectionName:products:order:trackPointIds:");
            }
            else
            {
                InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr_IntPtr_IntPtr_IntPtr(this.SuperHandle, Selector.GetHandle("initWithAppName:sectionName:products:order:trackPointIds:"), nsappName, nssectionName, nsa_products.Handle, order.Handle, nsa_trackpointIds.Handle), "initWithAppName:sectionName:products:order:trackPointIds:");
            }
            NSString.ReleaseNative(nsappName);
            NSString.ReleaseNative(nssectionName);
            nsa_products.Dispose();
            nsa_trackpointIds.Dispose();
        }