question: public boolean free ( T obj ) { int top = _top . get ( ) ; if ( top < _freeStack . length ( ) ) { boolean isFree = _freeStack . compareAndSet ( top , null , obj ) ; _top . compareAndSet ( top , top + 1 ) ; return isFree ; } else return false ; }
target:  Frees the object.  If the free list is full, the object will be garbage collected.