docs: public String formatTaskDurations() {
  
  		ensureTasksListExists();
  		StringBuilder b = new StringBuilder();
  
  		if (myTasks.size() > 0) {
  			long delta = myTasks.getFirst().getStart() - myStarted;
  			if (delta > 10) {
  				addNewlineIfContentExists(b);
  				b.append("Before first task");
  				b.append(": ");
  				b.append(formatMillis(delta));
  			}
  		}
  
  		TaskTiming last = null;
  		for (TaskTiming nextTask : myTasks) {
  
  			if (last != null) {
  				long delta = nextTask.getStart() - last.getEnd();
  				if (delta > 10) {
  					addNewlineIfContentExists(b);
  					b.append("Between");
  					b.append(": ");
  					b.append(formatMillis(delta));
  				}
  			}
  
  			addNewlineIfContentExists(b);
  			b.append(nextTask.getTaskName());
  			b.append(": ");
  			long delta = nextTask.getMillis();
  			b.append(formatMillis(delta));
  
  			last = nextTask;
  		}
  
  		if (myTasks.size() > 0) {
  			long delta = now() - myTasks.getLast().getEnd();
  			if (delta > 10) {
  				addNewlineIfContentExists(b);
  				b.append("After last task");
  				b.append(": ");
  				b.append(formatMillis(delta));
  			}
  		}
  
  		return b.toString();
  	}