getInfoPublicationType().setIdInternal(publication.getKeyPublicationType());
    public void copyFromDomain(IPublication publication) {                super.copyFromDomain(publication);        if (publication != null) {                        setConference(publication.getConference());            setCountry(publication.getCountry());            setCriticizedAuthor(publication.getCriticizedAuthor());            setEdition(publication.getEdition());            setEditor(publication.getEditor());            setEditorCity(publication.getEditorCity());            setFascicle(publication.getFascicle());            setFirstPage(publication.getFirstPage());            setFormat(publication.getFormat());            setInstituition(publication.getInstituition());            setIsbn(publication.getIsbn());            setIssn(publication.getIssn());            setJournalName(publication.getJournalName());            setKeyPublicationType(publication.getKeyPublicationType());            setLanguage(publication.getLanguage());            setLastPage(publication.getLastPage());            setLocal(publication.getLocal());            setMonth(publication.getMonth());            setMonth_end(publication.getMonth_end());            setNumber(publication.getNumber());            setNumberPages(publication.getNumberPages());            setObservation(publication.getObservation());            setOriginalLanguage(publication.getOriginalLanguage());            setPublicationString(publication.toString());            setPublicationType(publication.getPublicationType());            setScope(publication.getScope());            setSerie(publication.getSerie());            setSubType(publication.getSubType());            setTitle(publication.getTitle());            setTranslatedAuthor(publication.getTranslatedAuthor());            setUniversity(publication.getUniversity());            setUrl(publication.getUrl());            setVolume(publication.getVolume());            setYear(String.valueOf(publication.getYear()));            setYear_end(String.valueOf(publication.getYear_end()));                    	if (getInfoPublicationType() == null) {        		setInfoPublicationType(new InfoPublicationType());        	}        	getInfoPublicationType().setIdInternal(publication.getKeyPublicationType());                        List unsortedAuthorsList = new ArrayList(publication.getPublicationAuthorships());            Collections.sort(unsortedAuthorsList, new BeanComparator("order"));            List authorsList = (List)CollectionUtils.collect(unsortedAuthorsList,                    new Transformer() {                        public Object transform(Object object) {                            IAuthorship publicationAuthor = (IAuthorship) object;                            return publicationAuthor.getAuthor();            }});            //tranform the authors list into an infoAuthors list            Iterator it1 = authorsList.iterator();            List infoAuthorsList = new ArrayList();                    while (it1.hasNext()){                IPerson author = (IPerson) it1.next();                InfoAuthor infoAuthor = new InfoAuthor();                infoAuthor.copyFromDomain(author);                infoAuthorsList.add(infoAuthor);            }            setInfoPublicationAuthors(infoAuthorsList);            List teachers = (List) CollectionUtils.collect(publication.getPublicationTeachers(), new Transformer() {                public Object transform(Object object) {                    IPublicationTeacher publicationTeacher = (IPublicationTeacher) object;                    return publicationTeacher.getTeacher();                }            });                                            //tranform the teachers list into an infoTeachers list            Iterator it2 = teachers.iterator();            List infoTeachersList = new ArrayList();                    while (it2.hasNext()){                ITeacher teacher = (ITeacher) it2.next();                InfoTeacher infoTeacher = new InfoTeacher();                infoTeacher.copyFromDomain(teacher);                infoTeachersList.add(infoTeacher);            }            setInfoPublicationTeachers(infoTeachersList);                                    //tranform the publicationType into an infoPublicationType            InfoPublicationType infoPublicationType = new InfoPublicationType();            infoPublicationType.setPublicationType(publication.getPublicationType());            setInfoPublicationType(infoPublicationType);        }    }	