addCTabItem(message.getId(), tabText);
CTabItem cTabItem = addCTabItem(message.getId(), "  " + tabText);  if (cTabFolder.getItemCount() == 1) { setItemFocus(cTabItem); }
	public void messageFromClient(ClientMessage message) {				if (openTabs.containsKey(new Integer(message.getId()))) {			String textMessage;			ClientInfo clientInfo = core.getClientInfoIntMap().get(message.getId());			if (clientInfo == null) // Why don't we have clientInfo for these?				textMessage = getTimeStamp() + message.getId() +  ": <unknown>> " + message.getText();			else				textMessage = getTimeStamp() + message.getId() +  ": " + clientInfo.getClientName() + "> " + message.getText();					sendTabMessage(message.getId(), textMessage );					} else {						// the core sends the clientInfo for this message's clientID AFTER			// the message itself.. not very smart.  So, neither is this curious loop.			// TODO: does this help at all? remove if not.						ClientInfo clientInfo = null;						for (int i = 0; (i < 6) && ( (clientInfo = core.getClientInfoIntMap().get(message.getId())) == null); i++)			try {				Thread.sleep(1000);			} catch (InterruptedException e) {							}						String tabText;			if (clientInfo == null) tabText = "" + message.getId() + ": <unknown>"; 			else tabText = "  " + clientInfo.getClientid() + ": " + clientInfo.getClientName();						String textMessage = getTimeStamp() + tabText + "> " + message.getText();								addCTabItem(message.getId(), tabText);			sendTabMessage(message.getId(), textMessage);		}	}