static S n2UnlessZero(long l) { ret l == 0 ? "" : formatWithThousands(l); } static S n2UnlessZero(Collection l) { ret n2UnlessZero(l(l)); } static S n2UnlessZero(Map map) { ret n2UnlessZero(l(map)); } sS n2UnlessZero(double l, S singular) { ret n2UnlessZero(l, singular, singular + "s"); } sS n2UnlessZero(double l, S singular, S plural) { if (fraction(l) == 0) ret n2UnlessZero((long) l, singular, plural); else ret l + " " + plural; } static S n2UnlessZero(long l, S singular, S plural) { ret n_fancy2UnlessZero(l, singular, plural); } static S n2UnlessZero(long l, S singular) { ret n_fancy2UnlessZero(l, singular, singular + "s"); } static S n2UnlessZero(Collection l, S singular) { ret n2UnlessZero(l(l), singular); } static S n2UnlessZero(Collection l, S singular, S plural) { ret n_fancy2UnlessZero(l, singular, plural); } static S n2UnlessZero(Map m, S singular, S plural) { ret n_fancy2UnlessZero(m, singular, plural); } static S n2UnlessZero(Map m, S singular) { ret n2UnlessZero(l(m), singular); } static S n2UnlessZero(long[] a, S singular) { ret n2UnlessZero(l(a), singular); } static S n2UnlessZero(O[] a, S singular) { ret n2UnlessZero(l(a), singular); } static S n2UnlessZero(O[] a, S singular, S plural) { ret n_fancy2UnlessZero(a, singular, plural); }