private ImapWebResponse GetFullFetchResponse(ImapSequenceSet requestedUidSet)
        {
            var responseStream = new ImapWebClientFetchMessageBodyStream(Session,
                                                                   KeepAlive,
                                                                   FetchPeek,
                                                                   requestedUidSet,
                                                                   FetchBlockSize,
                                                                   ReadWriteTimeout);

              IImapMessageAttribute messageAttr;
              var response = new ImapWebResponse(responseStream.Prepare(GetFetchDataItem(), out messageAttr));

              if (response.Result.Failed)
            return response;

              response.MessageAttributes = new[] {messageAttr};
              response.SetResponseStream(responseStream,
                                 responseStream.Length,
                                 true);

              if (messageAttr.BodyStructure != null)
            response.SetContentType((string)messageAttr.BodyStructure.MediaType);

              return response;
        }
        private ImapWebResponse GetPartialFetchResponse(ImapSequenceSet requestedUidSet, string section, ImapPartialRange? partial)
        {
            var responseStream = new ImapWebClientFetchMessageBodyStream(Session,
                                                                   KeepAlive,
                                                                   FetchPeek,
                                                                   requestedUidSet,
                                                                   section,
                                                                   partial,
                                                                   FetchBlockSize,
                                                                   ReadWriteTimeout);

              IImapMessageAttribute discard;
              var response = new ImapWebResponse(responseStream.Prepare(GetFetchDataItem(), out discard));

              if (response.Result.Failed)
            return response;

              response.SetResponseStream(responseStream,
                                 responseStream.Length,
                                 true);

              return response;
        }