/// <summary>
        /// <para>Initializes a new instance of the <see cref="UploadSessionAppendArg" />
        /// class.</para>
        /// </summary>
        /// <param name="cursor">Contains the upload session ID and the offset.</param>
        /// <param name="close">If true, the current session will be closed, at which point you
        /// won't be able to call <see
        /// cref="Dropbox.Api.Files.Routes.FilesRoutes.UploadSessionAppendV2Async" /> anymore
        /// with the current session.</param>
        public UploadSessionAppendArg(UploadSessionCursor cursor,
                                      bool close = false)
        {
            if (cursor == null)
            {
                throw new sys.ArgumentNullException("cursor");
            }

            this.Cursor = cursor;
            this.Close  = close;
        }
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="UploadSessionFinishArg" />
        /// class.</para>
        /// </summary>
        /// <param name="cursor">Contains the upload session ID and the offset.</param>
        /// <param name="commit">Contains the path and other optional modifiers for the
        /// commit.</param>
        public UploadSessionFinishArg(UploadSessionCursor cursor,
                                      CommitInfo commit)
        {
            if (cursor == null)
            {
                throw new sys.ArgumentNullException("cursor");
            }

            if (commit == null)
            {
                throw new sys.ArgumentNullException("commit");
            }

            this.Cursor = cursor;
            this.Commit = commit;
        }