question: public T allocate ( ) { int top = _top . get ( ) ; if ( top > 0 && _top . compareAndSet ( top , top - 1 ) ) return _freeStack . getAndSet ( top - 1 , null ) ; else return null ; }
target:  Try to get an object from the free list.  Returns null if the free list is empty.