code: public TimeDuration durationBetween(Timestamp time) {
          long nanoSecDiff = time.nanoSec - nanoSec;
          nanoSecDiff += (time.unixSec - unixSec) * 1000000000;
          nanoSecDiff = Math.abs(nanoSecDiff);
          return TimeDuration.ofNanos(nanoSecDiff);
      }
docs: Calculates the time between the reference and this timeStamp.
  The resulting duration is the absolute value, so it does not matter
  on which object the function is called.
  
  @param time another time stamp
  @return the duration between the two timeStamps