} else if (MCOffset > offset) {
} else if (MCOffset.sGT(offset)) {
  private int findMCEntry(int MCOffset) {    // Given a machine code instruction MCOffset, find the corresponding entry    if (MCInformation == null) return -1;    int left = 0;    int right = MCInformation.length-1;    while (left <= right) {      int middle = (left + right) >> 1;         // take the average      while ((MCInformation[middle] & START_OF_ENTRY) != START_OF_ENTRY) {        // if necessary, step backwards to beginning of entry.        middle--;      }      int offset = getMCOffset(middle);      if (MCOffset == offset) {        return middle;      } else if (MCOffset > offset) {        // middle is too small, shift interval to the right        left = middle + 1;         if (left >= MCInformation.length) return -1;        while ((MCInformation[left] & START_OF_ENTRY) != START_OF_ENTRY) {          // if necessary, step forward to find next entry, but not passed end          // Need to do this to avoid finding middle again          left++;          if (left >= MCInformation.length)            return -1;        }      } else {        // middle is too small, shift interval to the left        right = middle - 1;        // Note no need to adjust as, we won't chance finding middle again      }    }    return  -1;  }