* @param item The item to add to the queue.
	 * @throws FullQueueException if the queue is full
	 */
	public void enqueue(E item) throws FullQueueException {
		if (this.isFull())
			throw new FullQueueException();
		array.add(null);
		int index = array.size() - 1;

		// Reheapify.
		while (index > 1 && comp.compare(getParent(index), item) > 0) {
			array.set(index, getParent(index));
			index = getParentIndex(index);
		}

		// Store the new element.
		array.set(index, item);
		numItems++;
	}