private void updateConvo(String input) {
        //Parse the message data into appropriate fields
        boolean convoID = false;
        StringBuilder ci = new StringBuilder();
        boolean user = false;
        StringBuilder un = new StringBuilder();
        boolean text = false;
        StringBuilder msg = new StringBuilder();
        for (String token: input.split(" ")) {
            //builds the convoID using tokens before the -u
            if (convoID && !token.equals("-u")) {
                ci.append(token);
                ci.append(" ");
            //builds the username using the token before the -t
            } else if (user && !token.equals("-t")) {
                un.append(token);
            //otherwise it must be part of the text
            } else if (text) {
                msg.append(token);
                msg.append(" ");
            }
            //after the -c, start looking for the convoID
            if (token.equals("-c")) {
                convoID = true;
            //after the -u, start looking for username instead
            } else if (token.equals("-u")) {
                convoID = false;
                user = true;
            //after the -t, start looking for the text instead
            } else if (token.equals("-t")) {
                user = false;
                text = true;
            }
        }
        //add the message to the convo that has the correct convoID
        Conversation convo = myConvos.get(ci.toString());
        convo.addMessage(new Message(onlineUsers.get(un.toString()), convo, msg.toString()));
        
        
        //update tab from GUI thread
        final class updateRunnable implements Runnable {
            private Conversation convo;
            
            public updateRunnable(Conversation convo1){
                convo = convo1;
            }
            public void run(){
                convoView.updateTab(convo.getConvoID());
            }  
        }
        Runnable update = new updateRunnable(convo);
        SwingUtilities.invokeLater(update);
    }