} while (countNumberOfWorkedAttributes(point2) > 1);
} while ((countNumberOfWorkedAttributes(point2) > 1) || (point.getPointAttributes().contains(AttributeType.JUSTIFICATION)) || (point2.getPointAttributes().contains(AttributeType.JUSTIFICATION)));
    public Duration calculateDurationPointList(List<TimePoint> pointList) {        Duration totalDuration = Duration.ZERO;        Iterator<TimePoint> pointListIt = pointList.iterator();        while (pointListIt.hasNext()) {            TimePoint point = pointListIt.next();            TimePoint point2 = null;            do {                if (pointListIt.hasNext()) {                    point2 = pointListIt.next();                    totalDuration = totalDuration.plus(new TimeInterval(point.getTime(), point2                            .getTime(), point2.isNextDay()).getDuration());                    point = point2;                } else {                    return totalDuration;                }            } while (countNumberOfWorkedAttributes(point2) > 1);        }        // Iterator<TimePoint> pointListIt = pointList.iterator();        // Iterator<TimePoint> auxPointListIt = pointList.iterator();        // while (pointListIt.hasNext()) {        // TimePoint point = pointListIt.next();        // auxPointListIt.next();        // if (pointListIt.hasNext()) {        // TimePoint point2 = pointListIt.next();        // totalDuration = totalDuration.plus(new TimeInterval(point.getTime(), point2.getTime(),        // point2.isNextDay()).getDuration());        // if(countNumberOfWorkedAttributes(point2) > 1) {        // pointListIt = auxPointListIt;        // } else {        // auxPointListIt.next();        // }        // }        // }        return totalDuration;    }