public static CycleTimeColumn buildCycleTimeColumnFromWorkItem(WorkItem workItem) { List<String> phases = workItem.getType().getPhases(); List<String> phasesAfterInitialPhase = phases.subList(1, phases.size()); CycleTimeColumn column = new CycleTimeColumn(Integer.toString(workItem.getId())); LocalDate previousDate = null; String previousPhase = null; for (String phase : phasesAfterInitialPhase) { LocalDate date = dateWhenPhaseWasCompleted(workItem, phase); if (previousDate != null && previousPhase != null) { int diffInDays = WorkingDayUtils.getWorkingDaysBetween(previousDate, date); column.addFragment(previousPhase, diffInDays); } previousDate = date; previousPhase = phase; } return column; }