/// <summary>
        /// Constructor. Creates a request message for an operation of a batch request.
        /// </summary>
        /// <param name="outputStream">The underlying stream to write the message to.</param>
        /// <param name="method">The HTTP method used for this request message.</param>
        /// <param name="requestUrl">The request Url for this request message.</param>
        /// <param name="operationListener">Listener interface to be notified of operation changes.</param>
        internal ODataBatchOperationRequestMessage(Stream outputStream, HttpMethod method, Uri requestUrl, IODataBatchOperationListener operationListener)
        {
            DebugUtils.CheckNoExternalCallers();

            this.Method = method;
            this.Url = requestUrl;
            this.message = new ODataBatchOperationMessage(outputStream, operationListener);
        }
        /// <summary>
        /// Constructor. Creates a request message for an operation of a batch request.
        /// </summary>
        /// <param name="outputStream">The underlying stream to write the message to.</param>
        /// <param name="method">The HTTP method used for this request message.</param>
        /// <param name="requestUrl">The request Url for this request message.</param>
        /// <param name="operationListener">Listener interface to be notified of operation changes.</param>
        internal ODataBatchOperationRequestMessage(Stream outputStream, HttpMethod method, Uri requestUrl, IODataBatchOperationListener operationListener)
        {
            DebugUtils.CheckNoExternalCallers();

            this.Method  = method;
            this.Url     = requestUrl;
            this.message = new ODataBatchOperationMessage(outputStream, operationListener);
        }
        /// <summary>
        /// Constructor. Creates a request message for an operation of a batch response.
        /// </summary>
        /// <param name="outputStream">The underlying stream to write the message to.</param>
        /// <param name="operationListener">Listener interface to be notified of operation changes.</param>
        internal ODataBatchOperationResponseMessage(Stream outputStream, IODataBatchOperationListener operationListener)
        {
            DebugUtils.CheckNoExternalCallers();

            this.message = new ODataBatchOperationMessage(outputStream, operationListener);
        }
        /// <summary>
        /// Constructor. Creates a request message for an operation of a batch response.
        /// </summary>
        /// <param name="outputStream">The underlying stream to write the message to.</param>
        /// <param name="operationListener">Listener interface to be notified of operation changes.</param>
        internal ODataBatchOperationResponseMessage(Stream outputStream, IODataBatchOperationListener operationListener)
        {
            DebugUtils.CheckNoExternalCallers();

            this.message = new ODataBatchOperationMessage(outputStream, operationListener);
        }