/// <summary>
        /// Requests a remote media server to delete a resource from its local file system.
        /// </summary>
        /// <param name="deleteThisResource">the resource to request for deletion</param>
        /// <param name="Tag">
        /// Miscellaneous, user-provided object for tracking this
        /// asynchronous call. Can be used as a means to pass a
        /// user-defined "state object" at invoke-time so that
        /// the executed callback during results-processing can be
        /// aware of the component's state at the time of the call.
        /// </param>
        /// <param name="callback">callback to execute when results have been obtained</param>
        /// <exception cref="Error_ResourceNotOnServer">
        /// Thrown when attempting to delete a resource object that
        /// is not part of the server's content hierarchy.
        /// </exception>
        /// <exception cref="NullReferenceException">
        /// Thrown when attempting a remove a resource that has
        /// a null/empty value for its contentUri.
        /// </exception>
        /// <exception cref="Error_CannotGetParent">
        /// Thrown if the parent of this object is null.
        /// </exception>
        /// <exception cref="InvalidCastException">
        /// Thrown if the parent of this object is not a <see cref="CpMediaContainer"/>.
        /// </exception>
        public void RequestDeleteResource(ICpResource deleteThisResource, object Tag, CpMediaDelegates.Delegate_ResultDeleteResource callback)
        {
            // calls parent's implementation of method
            CpMediaContainer parent = (CpMediaContainer)this.Parent;

            parent.RequestDeleteResource(deleteThisResource, Tag, callback);
        }