class MaximumTotalTime implements TerminationCondition {

    @Override
    public void assertContinue() throws StoreCopyFailedException
    {
        if ( clock.millis() > endTime )
        {
            throw new StoreCopyFailedException( format( "Maximum time passed %d %s. Not allowed to continue", time, timeUnit ) );
        }
    }

    public  MaximumTotalTime( long time, TimeUnit timeUnit );
      MaximumTotalTime( long time, TimeUnit timeUnit, Clock clock );

}