package org.requirementsascode;

import java.util.Optional;
import java.util.function.Consumer;

public abstract class AbstractContinue implements Consumer<UseCaseRunner>{
	private UseCase useCase;
	private String stepName;
	private Optional<UseCaseStep> latestStepOfRunner;
	
	public AbstractContinue(UseCase useCase, String stepName, Optional<UseCaseStep> latestStepOfRunner) {
		this.useCase = useCase;
		this.stepName = stepName;
		this.latestStepOfRunner = latestStepOfRunner;
	}
	
	@Override
	public void accept(UseCaseRunner runner) {
		runner.setLatestStep(latestStepOfRunner);
	}
	
	public UseCase useCase() {
		return useCase;
	}
	public String stepName() {
		return stepName;
	}
	public Optional<UseCaseStep> latestStepOfRunner() {
		return latestStepOfRunner;
	}
}

@@ -248,34 +248,28 @@
 seStep%3E 
-latestStepOfRunner
+previousStep
 ;%0A%09%0A%09pub
@@ -345,34 +345,28 @@
 seStep%3E 
-latestStepOfRunner
+previousStep
 ) %7B%0A%09%09th
@@ -426,47 +426,35 @@
 his.
-latestStepOfRunner = latestStepOfRunner
+previousStep = previousStep
 ;%0A%09%7D
@@ -534,34 +534,28 @@
 estStep(
-latestStepOfRunner
+previousStep
 );%0A%09%7D%0A%09%0A
@@ -687,58 +687,46 @@
 ep%3E 
-latestStepOfRunner() %7B%0A%09%09return latestStepOfRunner
+previousStep() %7B%0A%09%09return previousStep
 ;%0A%09%7D

Improve naming in AbstractContinue