interpreting this for loop snippet
<p>Here we have a snippet of an array implementation of a binary heap. I would like some help seeing what this for loop means in pseudocode:</p>

<pre><code>public void insert (Anytype x) { 
    int hole = ++currentSize; //currentSize is the size of the array
    for (array[0] = x; x.compareTO(array[hole / 2]) &lt; 0; hole /= 2)
        array[hole] = array[hole / 2];
    array[hole] = x;
}
</code></pre>

<p>I can't seem to understand how this for loop works. Thank you.</p>

<p><strong>EDIT</strong> filled the hole</p>
