*/
protected MessageMetaData copy(Mailbox<Long> mailbox, long uid, long modSeq, Message<Long> original)
throws MailboxException {
Message<Long> copy;
if (original instanceof JPAStreamingMessage) {
copy = new JPAStreamingMessage((JPAMailbox) mailbox, uid, modSeq, original);
} else if (original instanceof JPAEncryptedMessage) {
copy = new JPAEncryptedMessage((JPAMailbox) mailbox, uid, modSeq, original);
} else {
copy = new JPAMessage((JPAMailbox) mailbox, uid, modSeq, original);
}