/// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// xmlserializationcollectionfixupcallback.BeginInvoke(collection, collectionItems, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this XmlSerializationCollectionFixupCallback xmlserializationcollectionfixupcallback, Object collection, Object collectionItems, AsyncCallback callback)
        {
            if (xmlserializationcollectionfixupcallback == null)
            {
                throw new ArgumentNullException("xmlserializationcollectionfixupcallback");
            }

            return(xmlserializationcollectionfixupcallback.BeginInvoke(collection, collectionItems, callback, null));
        }
			internal CollectionFixup (object collection, XmlSerializationCollectionFixupCallback callback, string id)
			{
				this.callback = callback;
				this.collection = collection;
				this.id = id;
			}
			public CollectionFixup(object collection, XmlSerializationCollectionFixupCallback callback, object collectionItems)
			{
				this.callback = callback;
				this.collection = collection;
				this.collectionItems = collectionItems;
			}
 public CollectionFixup(object collection, XmlSerializationCollectionFixupCallback callback, string id)
 {
     this.callback   = callback;
     this.collection = collection;
     this.id         = id;
 }
 public CollectionFixup(object collection, XmlSerializationCollectionFixupCallback callback, object collectionItems)
 {
     this.callback        = callback;
     this.collection      = collection;
     this.collectionItems = collectionItems;
 }