class OperatorCoordinatorHolder implements OperatorCoordinator, OperatorCoordinatorCheckpointContext {

	@Override
	public void checkpointCoordinator(long checkpointId, CompletableFuture<byte[]> result) {
		// unfortunately, this method does not run in the scheduler executor, but in the
		// checkpoint coordinator time thread.
		// we can remove the delegation once the checkpoint coordinator runs fully in the scheduler's
		// main thread executor
		mainThreadExecutor.execute(() -> checkpointCoordinatorInternal(checkpointId, result));
	}

	private  OperatorCoordinatorHolder(
			final OperatorID operatorId,
			final OperatorCoordinator coordinator,
			final LazyInitializedCoordinatorContext context,
			final OperatorEventValve eventValve,
			final int operatorParallelism,
			final int operatorMaxParallelism);

}