/// <summary>
        /// Makes a request to a remote media server to import the binary file from a URI to
        /// a resource that is part of the server's content hierarchy.
        /// </summary>
        /// <param name="sourceUri">the URI where binary should be pulled</param>
        /// <param name="importHere">the <see cref="ICpResource"/> object that represents the
        /// destination of the imported binary
        /// </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">the callback to execute when results become available</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 RequestImportResource(System.Uri sourceUri, ICpResource importHere, object Tag, CpMediaDelegates.Delegate_ResultImportResource callback)
        {
            // calls parent's implementation of method
            CpMediaContainer parent = (CpMediaContainer)this.Parent;

            parent.RequestImportResource(sourceUri, importHere, Tag, callback);
        }