List shiftProfessorshipToAnalyse = new ArrayList(); shiftProfessorshipToAnalyse.addAll(shiftProfessorshipList); shiftProfessorshipToAnalyse.removeAll(shiftProfessorshipAdded); shiftProfessorshipToAnalyse.addAll(shiftProfessorshipAdded);  Iterator iterator = shiftProfessorshipToAnalyse.iterator();
Iterator iterator = shiftProfessorshipList.iterator();
    public Double calculateLessons(        IProfessorship professorship,        List shiftProfessorshipAdded,        List shiftProfessorshipDeleted,        ISuportePersistente sp)        throws ExcepcaoPersistencia    {        IPersistentShiftProfessorship shiftProfessorshipDAO = sp.getIPersistentShiftProfessorship();        List shiftProfessorshipList = shiftProfessorshipDAO.readByProfessorship(professorship);        List shiftProfessorshipToAnalyse = new ArrayList();        shiftProfessorshipToAnalyse.addAll(shiftProfessorshipList);        shiftProfessorshipToAnalyse.removeAll(shiftProfessorshipAdded);        shiftProfessorshipToAnalyse.addAll(shiftProfessorshipAdded);        Iterator iterator = shiftProfessorshipToAnalyse.iterator();        double hours = 0;        while (iterator.hasNext())        {            IShiftProfessorship shiftProfessorship = (IShiftProfessorship) iterator.next();            if (!shiftProfessorshipDeleted.contains(shiftProfessorship))            {                double shiftHours = calcuteShiftHours(shiftProfessorship.getShift());                hours += shiftHours * shiftProfessorship.getPercentage().doubleValue() / 100;            }        }        return new Double(hours);    }