FeatureSet voiceFeatures = utterance.getVoice().getFeatures();
float durationStretch = utterance.getVoice().getDurationStretch();
    public void processUtterance(Utterance utterance) throws ProcessException {        float durStretch;                PhoneDuration durStat;        FeatureSet voiceFeatures = utterance.getVoice().getFeatures();        float zdur;        float dur;        float end = 0.0f;                // Figure out how far to stretch the durations (speed things        // up or slow them down.        //	durStretch = meanRate / utterance.getVoice().getRate();        // Go through each of the segments and calculate a duration        // for it.  Store the cumulative end time for the duration in        // the "end" feature of the segment.        //	for (Item segment =                 utterance.getRelation(Relation.SEGMENT).getHead();		segment != null; segment = segment.getNext()) {            zdur = ((Float) cart.interpret(segment)).floatValue();            durStat = durations.getPhoneDuration(                segment.getFeatures().getString("name"));            dur = durStretch * ((zdur*durStat.getStandardDeviation())                                 + durStat.getMean());            end += dur;            segment.getFeatures().setFloat("end", end);        }    }