test_class.declarator: scheduledExecutorService
test_class.modifier: private
test_class.original_string: private ScheduledExecutorService scheduledExecutorService;
test_class.type: ScheduledExecutorService
test_class.var_name: scheduledExecutorService
test_class.file: common/src/test/java/org/glowroot/common/util/ScheduledRunnableTest.java
test_class.identifier: ScheduledRunnableTest
test_case.body: @Test
      public void testCancelWithNoFuture() {
          // given
          TestScheduledRunnable testScheduledRunnable = new TestScheduledRunnable();
          // when
          testScheduledRunnable.cancel();
          // then
          // do nothing
      }
test_case.class_method_signature: ScheduledRunnableTest.testCancelWithNoFuture()
test_case.full_signature: @Test public void testCancelWithNoFuture()
test_case.identifier: testCancelWithNoFuture
test_case.invocations: cancel
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCancelWithNoFuture()
focal_class.declarator: logger = LoggerFactory.getLogger(ScheduledRunnable.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(ScheduledRunnable.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: future
focal_class.modifier: private volatile @MonotonicNonNull
focal_class.original_string: private volatile @MonotonicNonNull ScheduledFuture<?> future;
focal_class.type: ScheduledFuture<?>
focal_class.var_name: future
focal_class.file: common/src/main/java/org/glowroot/common/util/ScheduledRunnable.java
focal_class.identifier: ScheduledRunnable
focal_class.interfaces: implements Runnable, Cancellable
focal_class.class_method_signature: ScheduledRunnable.scheduleWithFixedDelay(ScheduledExecutorService scheduledExecutor,
              long initialDelay, long period, TimeUnit unit)
focal_class.full_signature: public void scheduleWithFixedDelay(ScheduledExecutorService scheduledExecutor,
              long initialDelay, long period, TimeUnit unit)
focal_class.identifier: scheduleWithFixedDelay
focal_class.modifiers: public
focal_class.parameters: (ScheduledExecutorService scheduledExecutor,
              long initialDelay, long period, TimeUnit unit)
focal_class.return: void
focal_class.signature: void scheduleWithFixedDelay(ScheduledExecutorService scheduledExecutor,
              long initialDelay, long period, TimeUnit unit)
focal_class.class_method_signature: ScheduledRunnable.run()
focal_class.full_signature: @Override public void run()
focal_class.identifier: run
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void run()
focal_class.class_method_signature: ScheduledRunnable.cancel()
focal_class.full_signature: @Override public void cancel()
focal_class.identifier: cancel
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void cancel()
focal_class.class_method_signature: ScheduledRunnable.runInternal()
focal_class.full_signature: protected abstract void runInternal()
focal_class.identifier: runInternal
focal_class.modifiers: protected abstract
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void runInternal()
focal_method.body: @Override
      public void cancel() {
          if (future != null) {
              future.cancel(false);
          }
      }
focal_method.class_method_signature: ScheduledRunnable.cancel()
focal_method.full_signature: @Override public void cancel()
focal_method.identifier: cancel
focal_method.invocations: cancel
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void cancel()