Field startField = FieldDictionary.getInstance().getFieldFromId("Field.start");
Field endField = FieldDictionary.getInstance().getFieldFromId("Field.finish");
Date start = (Date) getSummarizedValueForField(startField, node, nodeModel, context);
Date end = (Date) getSummarizedValueForField(endField, node, nodeModel, context);
double t = wc.compare(end.getTime(), start.getTime(), false);
result = new Duration(Duration.getInstance(t / CalendarOption.getInstance().getMillisPerDay(), TimeUnit.DAYS));
// TODO 8 IS A HACK REPLACE ALL THIS SECTION
} else {
if (nodeHasNonSummarizedValue(node, nodeModel)) {// if no summary
// or leaf