class CheckPointerImpl extends LifecycleAdapter implements CheckPointer {

    @Override
    public long forceCheckPoint( TriggerInfo info ) throws IOException
    {
        ioLimiter.disableLimit();
        try ( Resource lock = mutex.checkPoint() )
        {
            return doCheckPoint( info );
        }
        finally
        {
            ioLimiter.enableLimit();
        }
    }

    public  CheckPointerImpl(
            TransactionIdStore transactionIdStore,
            CheckPointThreshold threshold,
            StorageEngine storageEngine,
            LogPruning logPruning,
            TransactionAppender appender,
            DatabaseHealth databaseHealth,
            LogProvider logProvider,
            CheckPointTracer tracer,
            IOLimiter ioLimiter,
            StoreCopyCheckPointMutex mutex );

}