/// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="message">Message to delete.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>message</b> is null reference.</exception>
        internal POP3_e_DeleteMessage(POP3_ServerMessage message)
        {
            if(message == null){
                throw new ArgumentNullException("message");
            }

            m_pMessage = message;
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="message">Message which top data to get.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>message</b> is null reference.</exception>
        internal POP3_e_GetMessageStream(POP3_ServerMessage message)
        {
            if(message == null){
                throw new ArgumentNullException("message");
            }

            m_pMessage  = message;
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="message">Message which top data to get.</param>
        /// <param name="lines">Number of message-body lines to get.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>message</b> is null reference.</exception>
        /// <exception cref="ArgumentException">Is raised when any of the arguments has invalid value.</exception>
        internal POP3_e_GetTopOfMessage(POP3_ServerMessage message,int lines)
        {
            if(message == null){
                throw new ArgumentNullException("message");
            }
            if(lines < 0){
                throw new ArgumentException("Argument 'lines' value must be >= 0.","lines");
            }

            m_pMessage  = message;
            m_LineCount = lines;
        }
 /// <summary>
 /// Raises <b>DeleteMessage</b> event.
 /// </summary>
 /// <param name="message">Message to delete.</param>
 private void OnDeleteMessage(POP3_ServerMessage message)
 {
     if(this.DeleteMessage != null){
         this.DeleteMessage(this,new POP3_e_DeleteMessage(message));
     }
 }
        /// <summary>
        /// Raises <b>GetMessageStream</b> event.
        /// </summary>
        /// <param name="message">Message stream to get.</param>
        /// <returns>Returns event arguments.</returns>
        private POP3_e_GetMessageStream OnGetMessageStream(POP3_ServerMessage message)
        {
            POP3_e_GetMessageStream eArgs = new POP3_e_GetMessageStream(message);

            if(this.GetMessageStream != null){
                this.GetMessageStream(this,eArgs);
            }

            return eArgs;
        }
        /// <summary>
        /// Raises <b>GetTopOfMessage</b> event.
        /// </summary>
        /// <param name="message">Message which top data to get.</param>
        /// <param name="lines">Number of message-body lines to get.</param>
        /// <returns>Returns event args.</returns>
        private POP3_e_GetTopOfMessage OnGetTopOfMessage(POP3_ServerMessage message,int lines)
        {
            POP3_e_GetTopOfMessage eArgs = new POP3_e_GetTopOfMessage(message,lines);

            if(this.GetTopOfMessage != null){
                this.GetTopOfMessage(this,eArgs);
            }

            return eArgs;
        }