public Word getSplitWord(Utterance utt, Boolean[] goodSeg, Boolean[] badSeg) {
		// Find the word that they split on
		// Get slices of the stresses and units in each segmentation
		Object[][] goodWordsUnits =
			SegUtil.slicesFromAllBoundaries(utt.getUnits(), goodSeg);
		Object[][] badWordsUnits =
			SegUtil.slicesFromAllBoundaries(utt.getUnits(), badSeg);
		Object[][] badWordsStresses =
			SegUtil.slicesFromAllBoundaries(utt.getStresses(), badSeg);

		// Find the first difference
		String [] blameWordUnits = null;
		Boolean [] blameWordStresses = null;
		for (int i = 0; i < Math.min(goodWordsUnits.length, badWordsUnits.length); i++) {
			if (!Arrays.equals((String[]) goodWordsUnits[i], (String[]) badWordsUnits[i])) {
				blameWordUnits = (String[]) badWordsUnits[i];
				blameWordStresses = (Boolean[]) badWordsStresses[i];
				break;
			}
		}

		if(blameWordUnits == null || blameWordStresses == null)
			throw new RuntimeException("Failed to find difference between segmentations.");

		return getWord(blameWordUnits, blameWordStresses);
	}