In Netlet CircularBuffer constructor, we have an infinite loop if the first parameter (*n*) is *Integer.MAX_VALUE* because the loop counter left-shifts 1 till it drops into the sign bit at which point the value is negative and fails the loop exit test. The next left shift yields 0 which, of course, stays that way forever; here is the fragment:
* int i = 1;* * while (i < n) {* * i <<= 1;* * }* Ram