question: public void testNextLongBounded2 ( ) { SplittableRandom sr = new SplittableRandom ( ) ; for ( long least = - 86028121 ; least < MAX_LONG_BOUND ; least += 982451653L ) { for ( long bound = least + 2 ; bound > least && bound < MAX_LONG_BOUND ; bound += Math . abs ( bound * 7919 ) ) { long f = sr . nextLong ( least , bound ) ; assertTrue ( least <= f && f < bound ) ; int i = 0 ; long j ; while ( i < NCALLS && ( j = sr . nextLong ( least , bound ) ) == f ) { assertTrue ( least <= j && j < bound ) ; ++ i ; } assertTrue ( i < NCALLS ) ; } } }
target:  nextLong(least, bound) returns least <= value < bound; repeated calls produce at least two distinct results