if (!mHasSpamTrashSetting) {
if (!hasSpamTrashSetting()) { List<Folder> exclude = new ArrayList<Folder>();
    QueryOperation ensureSpamTrashSetting(Mailbox mbox, boolean includeTrash, boolean includeSpam) throws ServiceException    {        if (!mHasSpamTrashSetting) {            if (!includeSpam) {                Folder spam = mbox.getFolderById(null, Mailbox.ID_FOLDER_SPAM);                            addInClause(spam, false);            }                        if (!includeTrash) {                List trashFolders = getTrashFolders(mbox);                for (Iterator iter  = trashFolders.iterator(); iter.hasNext();) {                    Folder cur = (Folder)(iter.next());                    addInClause(cur,false);                }            }            mHasSpamTrashSetting = true;        }        return this;    }