Java Arrays binarySearch() insertion point
<p>As per Java doc for Arrays.binarySearch(int[] a, int key)</p>
<blockquote>
<p>Returns:</p>
<p>index of the search key, if it is contained in the array;
otherwise, (-(insertion point) - 1). The insertion point is defined as
the point at which the key would be inserted into the array: the index
of the first element greater than the key, or a.length if all elements
in the array are less than the specified key. Note that this
guarantees that the return value will be &gt;= 0 if and only if the key
is found.</p>
</blockquote>
<p>I need to understand why its returning <code>(-(insertion point) - 1)</code>, why not just <code>-(insertion point)</code>?</p>