m_inUseList.remove( a_buffer ) ; m_freeList.add( a_buffer ) ;
m_inUseList.remove( l_list ) ; m_freeList.add( l_list ) ;
    public synchronized void releaseClaim( ByteBuffer a_buffer, Object a_party )    {        BufferListPair l_list = getBufferListPair( a_buffer ) ;                if ( null == l_list )        {            m_monitor.releaseOfUnclaimed( this, a_buffer, a_party ) ;            throw new IllegalArgumentException( "Not a pooled resource" ) ;        }                if ( ! l_list.contains( a_party ) )        {            m_monitor.unregisteredParty( this, a_buffer, a_party ) ;            throw new IllegalStateException(                     "Party never registered interest with buffer" ) ;        }                l_list.remove( a_party ) ;        m_monitor.interestReleased( this, a_buffer, a_party ) ;                // if the list of interested parties hits zero then we release buf        if ( l_list.size() == 0 )        {            m_inUseList.remove( a_buffer ) ;            m_freeList.add( a_buffer ) ;            m_monitor.bufferReleased( this, a_buffer, a_party ) ;        }    }