&& ((serviceExemption.getEnd() != null && (serviceExemption.getEnd().before(endDate) || serviceExemption .getEnd().after(endDate))) || serviceExemption.getEnd() == null)) {
&& (serviceExemption.getEnd() == null || (serviceExemption.getEnd().before(endDate) || serviceExemption .getEnd().after(endDate)))) {
    public List<ITeacherServiceExemption> getServiceExemptionSituations(Date beginDate, Date endDate) {        List<ITeacherServiceExemption> serviceExemptions = new ArrayList<ITeacherServiceExemption>();        for (ITeacherServiceExemption serviceExemption : this.getServiceExemptionSituations()) {            if ((serviceExemption.getStart().before(beginDate) || serviceExemption.getStart().after(                    beginDate))                    && ((serviceExemption.getEnd() != null && (serviceExemption.getEnd().before(endDate) || serviceExemption                            .getEnd().after(endDate))) || serviceExemption.getEnd() == null)) {                serviceExemptions.add(serviceExemption);            }        }        return serviceExemptions;    }