return delayNumberFormat.format(d) + " " + unit + ((d > 1.0) ? "s" : "");
long floor = (int) Math.floor(d); if (floor != d) { return delayNumberFormat.format(d) + " " + unit + ((d > 1.0) ? "s" : ""); } return floor + " " + unit + ((d > 1.0) ? "s" : "");
    public static final String format(long delay) {        double d;        String unit;        if (delay >= Delay.YEAR) {            d = delay / (double) Delay.YEAR;            unit = "year";        } else if (delay >= Delay.MONTH) {            d = delay / (double) Delay.MONTH;            unit = "month";        } else if (delay >= Delay.WEEK) {            d = delay / (double) Delay.WEEK;            unit = "week";        } else if (delay >= Delay.HOUR * 24) {            d = delay / (double) Delay.DAY;            unit = "day";        } else if (delay >= Delay.MINUTE * 60) {            d = delay / (double) Delay.HOUR;            unit = "hour";        } else if (delay >= Delay.SECOND * 60) {            d = delay / (double) Delay.MINUTE;            unit = "minute";        } else if (delay >= Delay.SECOND) {            d = delay / (double) Delay.SECOND;            unit = "minute";        } else if (delay > 0) {            d = delay;            unit = "millisecond";        } else {            d = delay;            unit = "never";        }        return delayNumberFormat.format(d) + " " + unit                + ((d > 1.0) ? "s" : "");    }