try {
//1. construct mime header
int mimeLength = bmessage.readInt();
byte[] mbuf = new byte [mimeLength];
bmessage.readBytes(mbuf, mimeLength);
ByteArrayInputStream mbin = new ByteArrayInputStream (mbuf);
ObjectInputStream oi = new ObjectInputStream (mbin);
Hashtable ht = (Hashtable) oi.readObject();
MimeHeaders mimeHeaders = hashtableToMime (ht);