/// <summary>
        /// Makes a request to a remote media server to delete the resource from its local file system.
        /// </summary>
        /// <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">the callback to execute when results become available</param>
        /// <exception cref="InvalidCastException">
        /// Thrown if the owner of this object is not an <see cref="ICpMedia"/> instance.
        /// </exception>
        public void RequestDeleteResource(object Tag, CpMediaDelegates.Delegate_ResultDeleteResource callback)
        {
            // simpy calls the owner object's implementation of the method by the same name
            ICpMedia owner = (ICpMedia)this.Owner;

            owner.RequestDeleteResource(this, Tag, callback);
        }
        /// <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);
        }