/// <summary>
 /// Event raised upon completion of WipeSessionAsync.
 /// </summary>
 /// <param name="e"></param>
 private void OnWipeSessionCompleted(WipeSessionCompletedArgs e)
 {
     if (this.WipeSessionCompleted != null)
     {
         this.WipeSessionCompleted(this, e);
     }
 }
        /// <summary>
        /// Wipes (erases) all contents of a Smash session and prevents any further operation on the session.
        /// </summary>
        /// <param name="identity">ClientIdentity object used for authentication.</param>
        /// <param name="meetingToken">The meeting token of the session to join.</param>
        /// <param name="sessionID">The session ID of the session to be wiped.</param>
        /// <param name="managementID">The owner's management secret required to enumerate, modify, wipe sessions.</param>
        /// <param name="state">State to be passed as userState in the completion event args.</param>
        public void WipeSessionAsync(ClientIdentity identity, Guid meetingToken, Guid sessionID, Guid managementID, object state)
        {
            IAsyncResult asyncResult = SmashClientREST.WipeSessionAsync(
                identity,
                meetingToken,
                sessionID,
                managementID,
                new ServiceAgent<Contracts.WipeSessionResponse>.OnCompleteDelegate(
                    (response) =>
                    {
                        WipeSessionCompletedArgs e = new WipeSessionCompletedArgs(response.Exception, response.Aborted, response.StateObject);
                        OnWipeSessionCompleted(e);
                    }),
                state);

            SmashClientREST.HandleCompletion(asyncResult, state);
        }