class IntentData {

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        IntentData that = (IntentData) o;
        return Objects.equals(confirmationRequired, that.confirmationRequired) &&
            Objects.equals(confirmations, that.confirmations) &&
            Objects.equals(prompts, that.prompts) &&
            Objects.equals(slots, that.slots) &&
            Objects.equals(samples, that.samples);
    }

    public  IntentData(Boolean confirmationRequired,
                      Set<PromptVariation> confirmations,
                      DialogIntentPrompt prompts,
                      Set<String> samples,
                      Map<String, IntentSlotData> slots);

}