new_head++;
new_head = (new_head + 1) % new_sizeof_buffer;
    private void grow(int size) {        /* Note - Grow does NOT check to make sure that size is appropriate           anything that calls grow should do its own checking to make sure you           aren't trying to grow an array to a size that won't hold what           is currently in the array. */        int new_sizeof_buffer = size;        boolean[] new_buffer = new boolean[size];        int new_head = 0;        int new_tail = 0;        int new_sizeof_queue = 0;        while (sizeof_queue > 0) {            new_buffer[new_head] = buffer[tail];            new_head++;            tail = (tail + 1) % sizeof_buffer;            sizeof_queue--;            new_sizeof_queue++;        }        sizeof_buffer = new_sizeof_buffer;        buffer = new_buffer;        head = new_head;        tail = new_tail;        sizeof_queue = new_sizeof_queue;    }