throw ServiceException.FAILURE("updating tag data for items [" + itemIDs + "]", e);
throw ServiceException.FAILURE("updating unread state for item " + item.getId(), e);
    public static void alterUnread(Mailbox mbox, MailItem.Array itemIDs, boolean unread)    throws ServiceException {        if (itemIDs == null || itemIDs.length == 0)            return;        Connection conn = mbox.getOperationConnection();        PreparedStatement stmt = null;        try {            stmt = conn.prepareStatement("UPDATE " + getMailItemTableName(mbox) +                    " SET unread = ?, mod_metadata = ?" +                    " WHERE id IN" + suitableNumberOfVariables(itemIDs));            stmt.setBoolean(1, unread);            stmt.setInt(2, mbox.getOperationChangeID());            for (int i = 0; i < itemIDs.length; i++)                stmt.setInt(i + 3, itemIDs.array[i]);            stmt.executeUpdate();        } catch (SQLException e) {            throw ServiceException.FAILURE("updating tag data for items [" + itemIDs + "]", e);        } finally {            DbPool.closeStatement(stmt);        }    }