mMbox.noOp();
doNoop(args);
    public ExecuteStatus execute(String argsIn[]) throws ServiceException, IOException {        mCommand = lookupCommand(argsIn[0]);                // shift them over for parser        String args[] = new String[argsIn.length-1];        System.arraycopy(argsIn, 1, args, 0, args.length);        if (mCommand == null)            throw ZClientException.CLIENT_ERROR("Unknown command: ("+argsIn[0]+ ") Type: 'help commands' for a list", null);                try {            mCommandLine = mParser.parse(mCommand.getOptions(), args, true);            args = mCommandLine.getArgs();        } catch (ParseException e) {            usage();            return ExecuteStatus.OK;        }                if (!mCommand.checkArgsLength(args)) {            usage();            return ExecuteStatus.OK;        }        if (                mCommand != Command.EXIT &&                mCommand != Command.HELP &&                mCommand != Command.AUTHENTICATE &&                                mCommand != Command.ADMIN_AUTHENTICATE &&                mCommand != Command.SELECT_MAILBOX        ) {            if (mMbox == null) {                throw ZClientException.CLIENT_ERROR("no mailbox selected. select one with authenticate/adminAuthenticate/selectMailbox", null);            }        }                    switch(mCommand) {        case AUTHENTICATE:            doAuth(args);            break;        case ADD_MESSAGE:            doAddMessage(args);            break;        case ADMIN_AUTHENTICATE:            doAdminAuth(args);            break;        case CREATE_CONTACT:            String ccId = mMbox.createContact(lookupFolderId(folderOpt()),tagsOpt(), getContactMap(args, 0, !ignoreOpt()));            System.out.println(ccId);            break;        case CREATE_IDENTITY:            mMbox.createIdentity(new ZIdentity(args[0], getMultiMap(args, 1)));            break;                    case CREATE_FOLDER:            doCreateFolder(args);            break;        case CREATE_MOUNTPOINT:            doCreateMountpoint(args);            break;        case CREATE_SEARCH_FOLDER:            doCreateSearchFolder(args);            break;        case CREATE_TAG:            ZTag ct = mMbox.createTag(args[0], tagColorOpt());            System.out.println(ct.getId());            break;        case DELETE_CONTACT:            mMbox.deleteContact(args[0]);            break;                    case DELETE_CONVERSATION:            mMbox.deleteConversation(id(args[0]), param(args, 1));            break;        case DELETE_FOLDER:            mMbox.deleteFolder(lookupFolderId(args[0]));            break;         case DELETE_IDENTITY:            mMbox.deleteIdentity(args[0]);            break;                     case DELETE_ITEM:            mMbox.deleteItem(id(args[0]), param(args, 1));            break;                    case DELETE_MESSAGE:            mMbox.deleteMessage(id(args[0]));            break;        case DELETE_TAG:            mMbox.deleteTag(lookupTag(args[0]).getId());            break;        case EMPTY_FOLDER:            mMbox.emptyFolder(lookupFolderId(args[0]));            break;                                case EXIT:            return ExecuteStatus.EXIT;            //break;        case FLAG_CONTACT:            mMbox.flagContact(id(args[0]), paramb(args, 1, true));            break;                    case FLAG_CONVERSATION:            mMbox.flagConversation(id(args[0]), paramb(args, 1, true), param(args, 2));            break;                    case FLAG_ITEM:            mMbox.flagItem(id(args[0]), paramb(args, 1, true), param(args, 2));            break;                                case FLAG_MESSAGE:            mMbox.flagMessage(id(args[0]), paramb(args, 1, true));            break;                    case GET_ALL_CONTACTS:            doGetAllContacts(args);             break;        case GET_CONTACTS:            doGetContacts(args);             break;                    case GET_IDENTITIES:            doGetIdentities(args);             break;                                case GET_ALL_FOLDERS:            doGetAllFolders(args);             break;                    case GET_ALL_TAGS:            doGetAllTags(args);             break;                    case GET_CONVERSATION:            doGetConversation(args);            break;        case GET_FOLDER:            doGetFolder(args);             break;                    case GET_FOLDER_GRANT:            doGetFolderGrant(args);             break;                                case GET_MAILBOX_SIZE:            if (verboseOpt()) System.out.format("%d%n", mMbox.getSize());             else System.out.format("%s%n", formatSize(mMbox.getSize()));             break;                                case GET_MESSAGE:            doGetMessage(args);            break;        case GET_REST_URL:            doGetRestURL(args);            break;        case HELP:            doHelp(args);             break;        case IMPORT_URL_INTO_FOLDER:            mMbox.importURLIntoFolder(lookupFolderId(args[0]), args[1]);            break;        case MARK_CONVERSATION_READ:            mMbox.markConversationRead(id(args[0]), paramb(args, 1, true), param(args, 2));            break;        case MARK_ITEM_READ:            mMbox.markItemRead(id(args[0]), paramb(args, 1, true), param(args, 2));            break;        case MARK_FOLDER_READ:            mMbox.markFolderRead(lookupFolderId(args[0]));            break;                                            case MARK_MESSAGE_READ:            mMbox.markMessageRead(id(args[0]), paramb(args, 1, true));            break;        case MARK_CONVERSATION_SPAM:                        mMbox.markConversationSpam(id(args[0]), paramb(args, 1, true), lookupFolderId(param(args, 2)), param(args, 3));            break;                    case MARK_MESSAGE_SPAM:                        mMbox.markMessageSpam(id(args[0]), paramb(args, 1, true), lookupFolderId(param(args, 2)));            break;                    case MARK_TAG_READ:            mMbox.markTagRead(lookupTag(args[0]).getId());            break;        case MODIFY_CONTACT:            doModifyContact(args);            break;        case MODIFY_FOLDER_CHECKED:            mMbox.modifyFolderChecked(lookupFolderId(args[0]), paramb(args, 1, true));            break;                                case MODIFY_FOLDER_COLOR:            mMbox.modifyFolderColor(lookupFolderId(args[0]), ZFolder.Color.fromString(args[1]));            break;                                case MODIFY_FOLDER_EXCLUDE_FREE_BUSY:            mMbox.modifyFolderExcludeFreeBusy(lookupFolderId(args[0]), paramb(args, 1, true));            break;        case MODIFY_FOLDER_GRANT:            doModifyFolderGrant(args);            break;        case MODIFY_FOLDER_URL:            mMbox.modifyFolderURL(lookupFolderId(args[0]), args[1]);            break;        case MODIFY_IDENTITY:            mMbox.modifyIdentity(new ZIdentity(args[0], getMultiMap(args, 1)));            break;                                case MODIFY_TAG_COLOR:            mMbox.modifyTagColor(lookupTag(args[0]).getId(), Color.fromString(args[1]));                        break;        case MOVE_CONVERSATION:            mMbox.moveConversation(id(args[0]), lookupFolderId(param(args, 1)), param(args, 2));            break;                                case MOVE_ITEM:            mMbox.moveItem(id(args[0]), lookupFolderId(param(args, 1)), param(args, 2));            break;                                            case MOVE_MESSAGE:            mMbox.moveMessage(id(args[0]), lookupFolderId(param(args, 1)));            break;        case MOVE_CONTACT:            mMbox.moveContact(id(args[0]), lookupFolderId(param(args, 1)));            break;        case NOOP:            mMbox.noOp();            break;        case POST_REST_URL:            doPostRestURL(args);            break;        case RENAME_FOLDER:            mMbox.renameFolder(lookupFolderId(args[0]), args[1]);            break;                case RENAME_TAG:            mMbox.renameTag(lookupTag(args[0]).getId(), args[1]);            break;        case SEARCH:            doSearch(args);            break;        case SEARCH_CONVERSATION:            doSearchConv(args);            break;        case SELECT_MAILBOX:            selectMailbox(args[0]);            break;        case SYNC_FOLDER:            mMbox.syncFolder(lookupFolderId(args[0]));            break;        case TAG_CONTACT:            mMbox.tagContact(id(args[0]), lookupTag(args[1]).getId(), paramb(args, 2, true));            break;        case TAG_CONVERSATION:            mMbox.tagConversation(id(args[0]), lookupTag(args[1]).getId(), paramb(args, 2, true), param(args, 3));            break;        case TAG_ITEM:            mMbox.tagItem(id(args[0]), lookupTag(args[1]).getId(), paramb(args, 2, true), param(args, 3));            break;        case TAG_MESSAGE:            mMbox.tagMessage(id(args[0]), lookupTag(args[1]).getId(), paramb(args, 2, true));            break;        default:            throw ZClientException.CLIENT_ERROR("Unhandled command: ("+mCommand.name()+ ")", null);                    }        return ExecuteStatus.OK;            }