class PageList {

    boolean tryEvict( long pageRef, EvictionEventOpportunity evictionOpportunity ) throws IOException
    {
        if ( tryExclusiveLock( pageRef ) )
        {
            if ( isLoaded( pageRef ) )
            {
                try ( EvictionEvent evictionEvent = evictionOpportunity.beginEviction() )
                {
                    evict( pageRef, evictionEvent );
                    return true;
                }
            }
            unlockExclusive( pageRef );
        }
        return false;
    }

      PageList( int pageCount, int cachePageSize, MemoryAllocator memoryAllocator, SwapperSet swappers,
              long victimPageAddress, long bufferAlignment );
      PageList( PageList pageList );

}