1. @Override
  2. public <T extends ScenarioSteps> T onSamePage(Class<T> clazz) {
  3. T result = (T) initedStepSetMap.get(clazz);
  4. if (result != null) {
  5. return result;
  6. }
  7. Enhancer enhancer = new Enhancer();
  8. Callback interceptor = new ScenarioInterceptor();
  9. enhancer.setCallback(interceptor);
  10. enhancer.setSuperclass(clazz);
  11. result = (T) enhancer.create(new Class<?>[] {}, new Object[] {});
  12. ((CommonOneCStepSet) result).syncStepSets(this);
  13. ((CommonOneCStepSet) result).syncKnownStepLibs(this);
  14. return result;
  15. }