code: public T allocate()
    {
      T value = _freeRing.allocate();
      
      if (value != null) {
        return value;
      }
      
      return _freeRingSoft.allocate();
    }
docs: Try to get an object from the free list.  Returns null if the free list
  is empty.
  
  @return the new object or null.