public StreamWrapper Stream {
	get {
		GMime.Stream gmime_stream = GMimeStream;
		GMime.StreamFilter filtered_stream;
		FilterBasic filter;

		switch (Encoding) {
		case ContentEncoding.QuotedPrintable:
		case ContentEncoding.UuEncode:
		case ContentEncoding.Base64:
			filtered_stream = new GMime.StreamFilter (gmime_stream);
			filter = new FilterBasic (Encoding, false);
			filtered_stream.Add (filter);
			gmime_stream.Dispose ();
			filter.Dispose ();

			gmime_stream = filtered_stream;
			break;
		default:
			break;
		}

		return new StreamWrapper (gmime_stream);
	}
}
