code: public static long toMicros(Instant instant) {
          return TimeUnit.SECONDS.toMicros(instant.getEpochSecond()) + TimeUnit.NANOSECONDS.toMicros(instant.getNano());
      }
docs: This method returns the timestamp, associated with the supplied
  instant, in microseconds.
  
  @param instant The instant
  @return The timestamp in microseconds