/// <summary>
        /// <para>Begins an asynchronous send to the transfer folder route.</para>
        /// </summary>
        /// <param name="sharedFolderId">The ID for the shared folder.</param>
        /// <param name="toDropboxId">A account or team member ID to transfer ownership
        /// to.</param>
        /// <param name="callback">The method to be called when the asynchronous send is
        /// completed.</param>
        /// <param name="callbackState">A user provided object that distinguished this send
        /// from other send requests.</param>
        /// <returns>An object that represents the asynchronous send request.</returns>
        public sys.IAsyncResult BeginTransferFolder(string sharedFolderId,
                                                    string toDropboxId,
                                                    sys.AsyncCallback callback,
                                                    object callbackState = null)
        {
            var transferFolderArg = new TransferFolderArg(sharedFolderId,
                                                          toDropboxId);

            return this.BeginTransferFolder(transferFolderArg, callback, callbackState);
        }
        /// <summary>
        /// <para>Begins an asynchronous send to the transfer folder route.</para>
        /// </summary>
        /// <param name="transferFolderArg">The request parameters.</param>
        /// <param name="callback">The method to be called when the asynchronous send is
        /// completed.</param>
        /// <param name="state">A user provided object that distinguished this send from other
        /// send requests.</param>
        /// <returns>An object that represents the asynchronous send request.</returns>
        public sys.IAsyncResult BeginTransferFolder(TransferFolderArg transferFolderArg, sys.AsyncCallback callback, object state = null)
        {
            var task = this.TransferFolderAsync(transferFolderArg);

            return enc.Util.ToApm(task, callback, state);
        }
        /// <summary>
        /// <para>Transfer ownership of a shared folder to a member of the shared
        /// folder.</para>
        /// <para>Warning: This endpoint is in beta and is subject to minor but possibly
        /// backwards-incompatible changes.</para>
        /// </summary>
        /// <param name="sharedFolderId">The ID for the shared folder.</param>
        /// <param name="toDropboxId">A account or team member ID to transfer ownership
        /// to.</param>
        /// <returns>The task that represents the asynchronous send operation.</returns>
        /// <exception cref="Dropbox.Api.ApiException{TransferFolderError}">Thrown if there is
        /// an error processing the request; This will contain a <see
        /// cref="TransferFolderError"/>.</exception>
        public t.Task TransferFolderAsync(string sharedFolderId,
                                          string toDropboxId)
        {
            var transferFolderArg = new TransferFolderArg(sharedFolderId,
                                                          toDropboxId);

            return this.TransferFolderAsync(transferFolderArg);
        }
 /// <summary>
 /// <para>Transfer ownership of a shared folder to a member of the shared
 /// folder.</para>
 /// <para>Warning: This endpoint is in beta and is subject to minor but possibly
 /// backwards-incompatible changes.</para>
 /// </summary>
 /// <param name="transferFolderArg">The request parameters</param>
 /// <returns>The task that represents the asynchronous send operation.</returns>
 /// <exception cref="Dropbox.Api.ApiException{TransferFolderError}">Thrown if there is
 /// an error processing the request; This will contain a <see
 /// cref="TransferFolderError"/>.</exception>
 public t.Task TransferFolderAsync(TransferFolderArg transferFolderArg)
 {
     return this.Transport.SendRpcRequestAsync<TransferFolderArg, enc.Empty, TransferFolderError>(transferFolderArg, "api", "/sharing/transfer_folder", TransferFolderArg.Encoder, enc.EmptyDecoder.Instance, TransferFolderError.Decoder);
 }