docs: public static String formatMillis(double theMillis) {
  		StringBuilder buf = new StringBuilder(20);
  		if (theMillis > 0.0 && theMillis < 1.0) {
  			buf.append(getSubMillisecondMillisFormat().format(theMillis));
  			buf.append("ms");
  		} else if (theMillis < (10 * DateUtils.MILLIS_PER_SECOND)) {
  			buf.append((int) theMillis);
  			buf.append("ms");
  		} else if (theMillis >= DateUtils.MILLIS_PER_DAY) {
  			double days = theMillis / DateUtils.MILLIS_PER_DAY;
  			if (days >= 10) {
  				buf.append(getTenDayFormat().format(days));
  				buf.append(" days");
  			} else if (days != 1.0f) {
  				buf.append(getDayFormat().format(days));
  				buf.append(" days");
  			} else {
  				buf.append(getDayFormat().format(days));
  				buf.append(" day");
  			}
  		} else {
  			long millisAsLong = (long) theMillis;
  			append(buf, "", 2, ((millisAsLong % DateUtils.MILLIS_PER_DAY) / DateUtils.MILLIS_PER_HOUR));
  			append(buf, ":", 2, ((millisAsLong % DateUtils.MILLIS_PER_HOUR) / DateUtils.MILLIS_PER_MINUTE));
  			append(buf, ":", 2, ((millisAsLong % DateUtils.MILLIS_PER_MINUTE) / DateUtils.MILLIS_PER_SECOND));
  			if (theMillis <= DateUtils.MILLIS_PER_MINUTE) {
  				append(buf, ".", 3, (millisAsLong % DateUtils.MILLIS_PER_SECOND));
  			}
  		}
  		return buf.toString();
  	}