List<PublicationAuthor> publicationAuthors = (List<PublicationAuthor>) author.getAuthorPublications();
List<IPublicationAuthor> publicationAuthors = (List<IPublicationAuthor>) author.getAuthorPublications();
    private List getInfoPublications(ISuportePersistente sp, ITeacher teacher)            throws ExcepcaoPersistencia {        IPerson pessoa = teacher.getPerson();        Integer keyPerson = pessoa.getIdInternal();        IPersistentAuthor persistentAuthor = sp.getIPersistentAuthor();        IAuthor author = persistentAuthor.readAuthorByKeyPerson(keyPerson);        List authorPublications = new ArrayList();        List infoAuthorPublications = new ArrayList();        List newAuthorPublications = new ArrayList();        if (author == null) {            Author newAuthor = new Author();            //newAuthor.setKeyPerson(keyPerson);            newAuthor.setPerson(pessoa);            persistentAuthor.lockWrite(newAuthor);        } else {            List<PublicationAuthor> publicationAuthors = (List<PublicationAuthor>) author.getAuthorPublications();            authorPublications = (List<IPublication>)CollectionUtils.collect(publicationAuthors,new Transformer() {                public Object transform(Object object) {                    PublicationAuthor publicationAuthor = (PublicationAuthor) object;                    return publicationAuthor.getPublication();                }            });        }        List publicationTeachersInTeachersList = teacher.getTeacherPublications();                List publicationsInTeacherSList =             (List) CollectionUtils.collect(publicationTeachersInTeachersList,                    new Transformer() {                        public Object transform(Object input) {                            IPublicationTeacher publicationTeacher = (IPublicationTeacher) input;                            return publicationTeacher.getPublication();                        }                    });        if (authorPublications != null || authorPublications.size() != PublicationConstants.ZERO_VALUE) {            if ((publicationsInTeacherSList != null) || (publicationsInTeacherSList.size() != 0)) {                newAuthorPublications = deletePublicationsTeacherInAuthorPublications(                        authorPublications, publicationsInTeacherSList);            }            infoAuthorPublications = (List) CollectionUtils.collect(newAuthorPublications,                    new Transformer() {                        public Object transform(Object o) {                            IPublication publication = (IPublication) o;                            IPublication publication2 = publication;                            publication2.setPublicationString(publication.toString());                            return InfoPublication.newInfoFromDomain(publication2);                        }                    });        }        return infoAuthorPublications;    }