docs: public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
          if (minuendInstant < subtrahendInstant) {
              return -getDifferenceAsLong(subtrahendInstant, minuendInstant);
          }
          
          long difference = (minuendInstant - subtrahendInstant) / iUnitMillis;
          if (add(subtrahendInstant, difference) < minuendInstant) {
              do {
                  difference++;
              } while (add(subtrahendInstant, difference) <= minuendInstant);
              difference--;
          } else if (add(subtrahendInstant, difference) > minuendInstant) {
              do {
                  difference--;
              } while (add(subtrahendInstant, difference) > minuendInstant);
          }
          return difference;
      }