class LevelOfAssuranceValidator {

    public void validate(Optional<LevelOfAssurance> responseLevelOfAssurance, LevelOfAssurance requiredLevelOfAssurance) {

        if (!responseLevelOfAssurance.isPresent()) {
            throw noLevelOfAssurance();
        }

        if (!responseLevelOfAssurance.get().equals(requiredLevelOfAssurance)) {
            throw wrongLevelOfAssurance(java.util.Optional.of(responseLevelOfAssurance.get()), singletonList(requiredLevelOfAssurance));
        }
    }

}