code: private static @NotNull
  	TimeUnit pickUnit(final @NotNull Duration iso)
  	{
  		final long millis = iso.toMillis();
  
  		// Special-case values under 1 second
  		if (millis < 1000)
  			return TimeUnit.MILLISECONDS;
  
  		final long SECOND = 1000;
  		final long MINUTE = 60 * SECOND;
  		final long HOUR = 60 * MINUTE;
  		final long DAY = 24 * HOUR;
  
  		if (millis % DAY == 0)
  			return TimeUnit.DAYS;
  		else if (millis % HOUR == 0)
  			return TimeUnit.HOURS;
  		else if (millis % MINUTE == 0)
  			return TimeUnit.MINUTES;
  		else if (millis % SECOND == 0)
  			return TimeUnit.SECONDS;
  		else
  			return TimeUnit.MILLISECONDS;
  	}
docs: Identify the largest unit that can accurately represent the provided duration
  
  @param iso
  
  @return