class SlaveUpdatePuller implements Runnable, UpdatePuller, CancelListener {

    @Override
    public void pullUpdates() throws InterruptedException
    {
        if ( !isActive() || !availabilityGuard.isAvailable( AVAILABILITY_AWAIT_MILLIS ) )
        {
            return;
        }

        tryPullUpdates();
    }

      SlaveUpdatePuller(
            RequestContextFactory requestContextFactory,
            Master master,
            LastUpdateTime lastUpdateTime,
            LogProvider logging,
            InstanceId instanceId,
            AvailabilityGuard availabilityGuard,
            InvalidEpochExceptionHandler invalidEpochHandler,
            JobScheduler jobScheduler,
            Monitor monitor );

}