throw MailServiceException.INVALID_REQUEST( "Unable to parse invite sender: " + senderFull, e);
throw ServiceException.INVALID_REQUEST("Unable to parse invite sender: " + senderFull, e);
    static Message create(            CreateMessage redoRecorder,            CreateMessage redoPlayer,                        Folder folder, MailItem parent, ParsedMessage pm, int msgSize, String digest,                          boolean unread, boolean noICal, int flags, long tags, DraftInfo dinfo, int id, Calendar cal)      throws ServiceException {        if (folder == null || !folder.canContain(TYPE_MESSAGE))            throw MailServiceException.CANNOT_CONTAIN();                Mailbox mbox = folder.getMailbox();                TimeZoneMap tzmap = null;                List /* Invite */ components = null;        String methodStr = null;        if ((cal != null) && (!noICal)) {            Account acct = mbox.getAccount();                        boolean sentByMe = false;            {                String senderFull = pm.getSender();                String sender = null;                try {                    sender = new InternetAddress(senderFull).getAddress();                } catch (AddressException e) {                    throw MailServiceException.INVALID_REQUEST(                            "Unable to parse invite sender: " + senderFull, e);                }                sentByMe = AccountUtil.addressMatchesAccount(acct, sender);            }                        ICalTimeZone accountTZ = mbox.getAccount().getTimeZone();            tzmap = new TimeZoneMap(accountTZ);                        components = Invite.parseCalendarComponentsForNewMessage(sentByMe, mbox, cal, id, pm.getFragment(), tzmap);            Method method = (Method) cal.getProperties().getProperty(Property.METHOD);            methodStr = method != null ? method.getValue() : "PUBLISH";        }        Metadata meta = new Metadata();                UnderlyingData data = createItemData(folder, parent, pm, msgSize, digest, unread,                                             flags, tags, dinfo, id, TYPE_MESSAGE,                                              meta);                DbMailItem.create(mbox, data);        Message msg = new Message(mbox, data);        // process the components in this invite (must do this last so blob is created, etc)        if (components != null) {            msg.processInvitesAfterCreate(methodStr, redoRecorder, redoPlayer, pm, components);        }                msg.finishCreation(parent);        return msg;    }