private String format(long h, long m, long s, long r, int ac, boolean lz) {
        String result = isRelative ? (value < 0L ? "-" : "+") : "";
        String zeroFormat = lz ? "%02d" : "%d";
        if (h == 0L) {
           if (m == 0L) {
              result += String.format(zeroFormat, s);
           } else {
              result += String.format(zeroFormat + ":%02d", m, s);
           }
        } else {
           result += String.format(zeroFormat + ":%02d:%02d", h, m, s);
        }

      switch (ac) {
         case THOUSANDTH:
            return result + String.format(".%03d", r);
         case HUNDREDTH:
            return result + String.format(".%02d", r);
         case TENTH:
            return result + String.format(".%d", r);
      }
      return result;
   }