private int find(int index){
        int low = 0;
        int high = fillLevel - 1;

        while (low <= high) {
            int mid = (low + high) >>> 1;
            int midVal = index(mid);

            if (midVal < index)
                low = mid + 1;
            else if (midVal > index)
                high = mid - 1;
            else
                return mid;
        }
        return -(low + 1);
    }