List tempResult = persistentStudent .readMasterDegreeStudentsByNameIDnumberIDtypeAndStudentNumber(studentName, idNumber, idType, studentNumber);
return (List) CollectionUtils.collect(masterDegreeStudents, new Transformer() {
    public List run(String studentName, String idNumber, IDDocumentType idType,            Integer studentNumber) throws FenixServiceException {        List result = new ArrayList();        try {            ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            IPersistentStudent persistentStudent = sp.getIPersistentStudent();            List tempResult = persistentStudent                    .readMasterDegreeStudentsByNameIDnumberIDtypeAndStudentNumber(studentName, idNumber,                            idType, studentNumber);            if (tempResult != null) {                Iterator iterator = tempResult.iterator();                while (iterator.hasNext()) {                    IStudent student = (IStudent) iterator.next();                    result.add(Cloner.copyIStudent2InfoStudent(student));                }            }        } catch (ExcepcaoPersistencia ex) {            FenixServiceException newEx = new FenixServiceException("Persistence layer error");            newEx.fillInStackTrace();            throw newEx;        }        return result;    }