class IntentRenderer {

    public Optional<DialogIntent> renderDialogIntent(IntentDefinition intentDefinition, IntentData intentData) {
        if (hasDialogInformation(intentData)) {
            DialogIntent intent = DialogIntent.builder()
                .withName(intentDefinition.getName())
                .withSlots(renderDialogSlots(intentDefinition, intentData).orElse(null))
                .withConfirmationRequired(intentData.getConfirmationRequired())
                .withPrompts(resolveConfirmationPrompt(intentDefinition, intentData))
                .build();

            return Optional.of(intent);
        }
        return Optional.empty();
    }

    public  IntentRenderer(IntentSlotRenderer intentSlotRenderer);
    public  IntentRenderer();

}