code: protected static long randomBetween(long min, long max) {
          if (min == max) {
              return min;
          }
          return ThreadLocalRandom.current().nextLong(min, max);
      }
docs: Generates a random long value within {@code min} and {@code max} boundaries.
  
  @param min
  @param max
  @return a random value
  @see ThreadLocalRandom#nextLong(long, long)