private void updateLogText() {
    	mLogText.setText("");

    	for (Map.Entry<String, List<TimeStamp>> entry : mTimeStamps.entrySet()) {
    		String nodeName = entry.getKey();

    		mLogText.append("TimeStamps in " + nodeName + ":\n");
    		List<TimeStamp> timestamps = entry.getValue();
    		for (TimeStamp t : timestamps) {
    			mLogText.append(t + "\n");
    		}
    		mLogText.append("\n");
    	}

    	mLogText.append("Concurrent TimeStamps:\n");

    	for (Map.Entry<String, List<TimeStamp>> ea : mTimeStamps.entrySet()) {
    		for (Map.Entry<String, List<TimeStamp>> eb : mTimeStamps.entrySet()) {
    			String nodeNameA = ea.getKey();
    			List<TimeStamp> listA = ea.getValue();
    			String nodeNameB = eb.getKey();
    			List<TimeStamp> listB = eb.getValue();

    			if (nodeNameA == nodeNameB) continue;

    			for (int i = 0; i < listA.size(); ++i) {
    				for (int j = 0; j < listB.size(); ++j) {
    					TimeStamp ta = listA.get(i);
    					TimeStamp tb = listB.get(j);

    					if (ta.compareTo(tb) == 0) {
    						mLogText.append(String.format("%s:%s and %s: %s\n", nodeNameA, ta, nodeNameB, tb));
    					}
    				}
    			}
    		}
    	}
    }