private int allocate(){

    	if (freePtr == END_OF_LIST) {
            growCapacity(getNewCapacity());
            if (freePtr == END_OF_LIST) {
                return END_OF_LIST;
            }
        }
        int p = freePtr;
        freePtr = links[freePtr];
        links[p] = END_OF_LIST;
        ++size;
        return p;
    }
Returns a free index resource from the free list.  If there are no
free index values, then this method will attempt to grow the index
resource pool.
Ghidra/Framework/Generic/src/main/java/ghidra/util/datastruct/IntListIndexer.java