public NavigationResult next(UINavigationContext context) throws Exception
{
UIContext uiContext = context.getUIContext();
Map<Object, Object> attributeMap = uiContext.getAttributeMap();
ScaffoldProvider selectedProvider = provider.getValue();
ScaffoldSetupContext setupContext = createSetupContext(uiContext);
attributeMap.put(ScaffoldProvider.class, selectedProvider);
attributeMap.put(ScaffoldSetupContext.class, setupContext);
// Get the navigation result entries from the selected scaffold provider
NavigationResult setupFlow = selectedProvider.getSetupFlow(setupContext);
// Add the execution logic step in the end so that the scaffold setup step is executed last after all other steps
NavigationResultBuilder builder = NavigationResultBuilder.create(setupFlow);
NavigationResult navigationResult = builder.add(ScaffoldExecuteSetupStep.class).build();