/// <summary>
 /// Wraps the 'Void CopyTo(System.Array, Int32)' on the 'System.Collections.ICollection' type.
 /// </summary>
 /// <param name="array">The value of the 'array' parameter.</param>
 /// <param name="index">The value of the 'index' parameter.</param>
 public virtual void CopyTo(WrappedObject array, int index)
 {
     WrapperUtilities.InvokeMethodWithoutResult(this, WrapperUtilities.GetMethodInfo(WrappedObjectType, MethodInfoCache, "Void CopyTo(System.Array, Int32)"), new object[] { array, index });
 }
 /// <summary>
 /// Wraps the 'TResult Execute[TResult](System.Linq.Expressions.Expression)' on the 'System.Linq.IQueryProvider' type.
 /// </summary>
 /// <typeparam name="TResult">The wrapper type for the 'TResult' generic parameter.</typeparam>
 /// <param name="typeTResult">The CLR generic type for the 'TResult' parameter.</param>
 /// <param name="expression">The value of the 'expression' parameter.</param>
 /// <returns>The value returned by the underlying method.</returns>
 public virtual TResult Execute <TResult>(Type typeTResult, WrappedObject expression)
     where TResult : WrappedObject
 {
     return(WrapperUtilities.InvokeMethodAndWrap <TResult>(this, WrapperUtilities.GetMethodInfo(WrappedObjectType, MethodInfoCache, "TResult Execute[TResult](System.Linq.Expressions.Expression)"), new object[] { expression }, new Type[] { typeTResult }));
 }
 /// <summary>
 /// Wraps the 'System.Linq.IQueryable`1[TElement] CreateQuery[TElement](System.Linq.Expressions.Expression)' on the 'System.Linq.IQueryProvider' type.
 /// </summary>
 /// <typeparam name="TElement">The wrapper type for the 'TElement' generic parameter.</typeparam>
 /// <param name="typeTElement">The CLR generic type for the 'TElement' parameter.</param>
 /// <param name="expression">The value of the 'expression' parameter.</param>
 /// <returns>The value returned by the underlying method.</returns>
 public virtual WrappedIQueryable <TElement> CreateQuery <TElement>(Type typeTElement, WrappedObject expression)
     where TElement : WrappedObject
 {
     return(WrapperUtilities.InvokeMethodAndWrap <WrappedIQueryable <TElement> >(this, WrapperUtilities.GetMethodInfo(WrappedObjectType, MethodInfoCache, "System.Linq.IQueryable`1[TElement] CreateQuery[TElement](System.Linq.Expressions.Expression)"), new object[] { expression }, new Type[] { typeTElement }));
 }
 /// <summary>
 /// Wraps the 'System.Object Execute(System.Linq.Expressions.Expression)' on the 'System.Linq.IQueryProvider' type.
 /// </summary>
 /// <param name="expression">The value of the 'expression' parameter.</param>
 /// <returns>The value returned by the underlying method.</returns>
 public virtual WrappedObject Execute(WrappedObject expression)
 {
     return(WrapperUtilities.InvokeMethodAndWrap <WrappedObject>(this, WrapperUtilities.GetMethodInfo(WrappedObjectType, MethodInfoCache, "System.Object Execute(System.Linq.Expressions.Expression)"), new object[] { expression }));
 }
 /// <summary>
 /// Wraps the 'System.Linq.IQueryable CreateQuery(System.Linq.Expressions.Expression)' on the 'System.Linq.IQueryProvider' type.
 /// </summary>
 /// <param name="expression">The value of the 'expression' parameter.</param>
 /// <returns>The value returned by the underlying method.</returns>
 public virtual WrappedIQueryable CreateQuery(WrappedObject expression)
 {
     return(WrapperUtilities.InvokeMethodAndWrap <WrappedIQueryable>(this, WrapperUtilities.GetMethodInfo(WrappedObjectType, MethodInfoCache, "System.Linq.IQueryable CreateQuery(System.Linq.Expressions.Expression)"), new object[] { expression }));
 }