code: public static <GIVEN, WHEN, THEN> Scenario<GIVEN, WHEN, THEN> create( Class<GIVEN> givenClass, Class<WHEN> whenClass,
              Class<THEN> thenClass ) {
          return new Scenario<GIVEN, WHEN, THEN>( givenClass, whenClass, thenClass );
      }
docs: Creates a scenario with 3 different steps classes.
  
  To share state between the different steps instances use the
  {@link com.tngtech.jgiven.annotation.ScenarioState} annotation
  
  @param givenClass the Given steps class
  @param whenClass the When steps class
  @param thenClass the Then steps class
  @return the new scenario