class CheckpointStateTask implements CacheableTask<Checkpoint, BeaconState> {

  @Override
  public SafeFuture<Optional<BeaconState>> performTask() {
    return getBaseState().thenApply(maybeState -> maybeState.map(this::regenerateFromState));
  }

  public  CheckpointStateTask(final Checkpoint checkpoint, final AsyncStateProvider stateProvider);
  private  CheckpointStateTask(
      final Checkpoint checkpoint,
      final AsyncStateProvider stateProvider,
      final BeaconState baseState);

}