nanoTime may return negative values, is this accounted for in timeToAvailable?