@Override
	public String getText()
	{
		if (startTime == null)
		{
			return null;
		}

		Duration time = Duration.between(startTime, lastTime == null ? Instant.now() : lastTime);
		final String formatString = "mm:ss";
		return DurationFormatUtils.formatDuration(time.toMillis(), formatString, true);
	}
@Test
	public void testGetText()
	{
		final Instant now = Instant.now();
		final Instant fiveSecondsAgo = now.minusSeconds(5);
		final Instant fiveMinutesAgo = now.minusSeconds(5 * 60);
		final Instant oneHourAgo = now.minusSeconds(60 * 60);
		final Instant fiveHoursAgo = now.minusSeconds(5 * 60 * 60);

		assertEquals("00:00", timerText(now, now));
		assertEquals("00:00", timerText(now, null));
		assertEquals("00:05", timerText(fiveSecondsAgo, now));
		assertEquals("00:05", timerText(fiveSecondsAgo, null));
		assertEquals("04:55", timerText(fiveMinutesAgo, fiveSecondsAgo));
		assertEquals("05:00", timerText(fiveMinutesAgo, now));
		assertEquals("05:00", timerText(fiveMinutesAgo, null));
		assertEquals("55:00", timerText(oneHourAgo, fiveMinutesAgo));
		assertEquals("59:55", timerText(oneHourAgo, fiveSecondsAgo));
		assertEquals("60:00", timerText(oneHourAgo, now));
		assertEquals("60:00", timerText(oneHourAgo, null));
		assertEquals("240:00", timerText(fiveHoursAgo, oneHourAgo));
		assertEquals("295:00", timerText(fiveHoursAgo, fiveMinutesAgo));
		assertEquals("299:55", timerText(fiveHoursAgo, fiveSecondsAgo));
		assertEquals("300:00", timerText(fiveHoursAgo, now));
		assertEquals("300:00", timerText(fiveHoursAgo, null));
	}