@Override
    @SuppressWarnings("unchecked")
    protected void initialize() {
        super.initialize();
        if (whenClass == null) {
            givenStage = (GIVEN) executor.addStage( givenClass );
            whenStage = (WHEN) givenStage;
            thenStage = (THEN) givenStage;
        } else {
            givenStage = executor.addStage( givenClass );
            whenStage = executor.addStage( whenClass );
            thenStage = executor.addStage( thenClass );
        }
    }
Describes the scenario. Must be called before any step invocation.
@param description the description
@return this for a fluent interface
jgiven-core/src/main/java/com/tngtech/jgiven/impl/Scenario.java