class DuplicatingLogProvider extends AbstractLogProvider<DuplicatingLog> {

    public boolean remove( LogProvider logProvider )
    {
        if ( !this.logProviders.remove( logProvider ) )
        {
            return false;
        }
        for ( DuplicatingLog duplicatingLog : cachedLogs() )
        {
            duplicatingLog.remove( duplicatingLogCache.get( duplicatingLog ).remove( logProvider ) );
        }
        return true;
    }

    public  DuplicatingLogProvider( LogProvider... logProviders );

}