shiftProfessorshipList = shiftProfessorshipDAO.readByTeacher(professorship.getTeacher());
shiftProfessorshipList = shiftProfessorshipDAO.readByTeacherAndExecutionPeriod(professorship.getTeacher(), professorship.getExecutionCourse().getExecutionPeriod());
    public Double calculateLessons(        IProfessorship professorship,        List shiftProfessorshipAdded,        List shiftProfessorshipDeleted,        ISuportePersistente sp)        throws ExcepcaoPersistencia    {        IPersistentShiftProfessorship shiftProfessorshipDAO = sp.getIPersistentShiftProfessorship();        List shiftProfessorshipList = null;        if (shiftProfessorshipDeleted.isEmpty())        {            shiftProfessorshipList = shiftProfessorshipDAO.readByTeacher(professorship.getTeacher());        } else        {            List shiftProfessorshipsIds = TransformationUtils.transformToIds(shiftProfessorshipDeleted);            shiftProfessorshipList =                shiftProfessorshipDAO.readByTeacherWithDifferentIds(                    professorship.getTeacher(),                    shiftProfessorshipsIds);        }        shiftProfessorshipList.removeAll(shiftProfessorshipAdded);        shiftProfessorshipList.addAll(shiftProfessorshipAdded);                Iterator iterator = shiftProfessorshipList.iterator();        double hours = 0;                while (iterator.hasNext())        {            IShiftProfessorship shiftProfessorship = (IShiftProfessorship) iterator.next();            double shiftHours = calcuteShiftHours(shiftProfessorship.getShift());            hours += shiftHours * shiftProfessorship.getPercentage().doubleValue() / 100;        }        return new Double(hours);    }