class SAML2TokenGenerationState {

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof SAML2TokenGenerationState)) {
            return false;
        }

        SAML2TokenGenerationState that = (SAML2TokenGenerationState) o;

        return authnContextClassRef.equals(that.authnContextClassRef) &&
            saml2SubjectConfirmation.equals(that.saml2SubjectConfirmation) &&
            Objects.equal(proofTokenState, that.proofTokenState);

    }

    private  SAML2TokenGenerationState(SAML2TokenGenerationStateBuilder builder);

}