reply.setOrganizer(oldInv.getOrganizer());
if (oldInv.hasOrganizer()) reply.setOrganizer(oldInv.getOrganizer());
    public static Invite replyToInvite(Account acct, Account authAcct,                                       boolean onBehalfOf,                                       Invite oldInv,                                       Verb verb, String replySubject,                                       ParsedDateTime exceptDt)    throws ServiceException {        Invite reply =            new Invite(oldInv.getCompType(), ICalTok.REPLY.toString(),                       new TimeZoneMap(                               Provisioning.getInstance().getTimeZone(onBehalfOf ? authAcct : acct)));        reply.getTimeZoneMap().add(oldInv.getTimeZoneMap());        // ATTENDEE -- send back this attendee with the proper status        ZAttendee meReply = null;        ZAttendee me = oldInv.getMatchingAttendee(acct);        if (me != null) {            meReply = new ZAttendee(me.getAddress());            meReply.setPartStat(verb.getXmlPartStat());            if (me.hasRole())                meReply.setRole(me.getRole());            if (me.hasCUType())                meReply.setCUType(me.getCUType());            if (me.hasCn())                meReply.setCn(me.getCn());            if (onBehalfOf)                meReply.setSentBy(authAcct.getName());            reply.addAttendee(meReply);        } else {            String name = acct.getName();            meReply = new ZAttendee(name);            meReply.setPartStat(verb.getXmlPartStat());            if (onBehalfOf)                meReply.setSentBy(authAcct.getName());            reply.addAttendee(meReply);        }        // DTSTART, DTEND, LOCATION (outlook seems to require these,        // even though it shouldn't)        reply.setDtStart(oldInv.getStartTime());        reply.setDtEnd(oldInv.getEffectiveEndTime());        reply.setLocation(oldInv.getLocation());        // ORGANIZER        reply.setOrganizer(oldInv.getOrganizer());        // UID        reply.setUid(oldInv.getUid());        // RECURRENCE-ID (if necessary)        if (exceptDt != null) {            reply.setRecurId(new RecurId(exceptDt, RecurId.RANGE_NONE));        } else if (oldInv.hasRecurId()) {            reply.setRecurId(oldInv.getRecurId());        }        // SEQUENCE        reply.setSeqNo(oldInv.getSeqNo());        // DTSTAMP        // we should pick "now" -- but the dtstamp MUST be >= the one sent by        // the organizer,        // so we'll use theirs if it is after "now"...        Date now = new Date();        Date dtStampDate = new Date(oldInv.getDTStamp());        if (now.after(dtStampDate)) {            dtStampDate = now;        }        reply.setDtStamp(dtStampDate.getTime());        // SUMMARY        reply.setName(replySubject);        // System.out.println("REPLY: "+reply.toVEvent().toString());        return reply;    }