public void executePopPullRequestLater(final PopRequest popRequest, final long timeDelay) {
        if (!isStopped()) {
            this.scheduledExecutorService.schedule(new Runnable() {
                @Override
                public void run() {
                    PullMessageService.this.executePopPullRequestImmediately(popRequest);
                }
            }, timeDelay, TimeUnit.MILLISECONDS);
        } else {
            logger.warn("PullMessageServiceScheduledThread has shutdown");
        }
    }
@Test
    public void testProcessPullResult() {
        PopRequest popRequest = mock(PopRequest.class);
        pullMessageService.executePopPullRequestLater(popRequest, defaultTimeout);
        pullMessageService.makeStop();
        pullMessageService.executePopPullRequestLater(popRequest, defaultTimeout);
        verify(executorService, times(1))
                .schedule(any(Runnable.class),
                        eq(defaultTimeout),
                        eq(TimeUnit.MILLISECONDS));
    }