class SingleThreadColocationLogger implements ColocationLogger {

  @Override
  public ColocationLogger start() {
    synchronized (lock) {
      if (completed.get() != null) {
        throw new IllegalStateException(this + " is already running");
      }
      completed.set(executorService.submit(checkForMissingColocatedRegionRunnable()));
      return this;
    }
  }

    SingleThreadColocationLogger(PartitionedRegion region, long delayMillis, long intervalMillis);
  @VisibleForTesting public  SingleThreadColocationLogger(PartitionedRegion region, long delayMillis,
      long intervalMillis, Consumer<String> logger,
      Function<PartitionedRegion, Set<String>> allColocationRegionsProvider,
      ExecutorService executorService);

}