public void startMessage() { if (stack.isEmpty()) { stack.push(MimeMessage.this); } else { expect(Part.class); try { MimeMessage m = new MimeMessage(); ((Part) stack.peek()).setBody(m); stack.push(m); } catch (MessagingException me) { throw new Error(me); } } }