code: public Duration minusNanos(long nanosToSubtract) {
          return (nanosToSubtract == Long.MIN_VALUE ? plusNanos(Long.MAX_VALUE).plusNanos(1) : plusNanos(-nanosToSubtract));
      }
docs: Returns a copy of this duration with the specified duration in nanoseconds subtracted.
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param nanosToSubtract  the nanoseconds to subtract, positive or negative
  @return a {@code Duration} based on this duration with the specified nanoseconds subtracted, not null
  @throws ArithmeticException if numeric overflow occurs