/guava/guava/src/com/google/common/collect/SortedLists.java
int middle = ( upper + upper) >>> 1;
int middle = ( lower + upper ) >>> 1;
if (!(list instanceof RandomAccess)) { list = Lists.newArrayList(list); } int lower = 0; int upper = list.size() - 1; while (lower <= upper) { <extra_id_0> int c = comparator.compare(key, list.get(middle)); if (c < 0) { upper = middle - 1; } else if (c > 0) { lower = middle + 1; } else {