public void validateResponsibleForList( Teacher teacher, ExecutionCourse executionCourse, Professorship responsibleForAdded) throws MaxResponsibleForExceed, InvalidCategory { List responsibleFors = executionCourse.responsibleFors(); if ((!responsibleFors.contains(responsibleForAdded)) && (responsibleFors.size() >= MAX_RESPONSIBLEFOR_BY_EXECUTION_COURSE)) { List infoResponsibleFors = (List) CollectionUtils.collect( responsibleFors, new Transformer() { @Override public Object transform(Object input) { Professorship responsibleFor = (Professorship) input; InfoProfessorship infoResponsibleFor = InfoProfessorship.newInfoFromDomain(responsibleFor); return infoResponsibleFor; } }); InfoExecutionCourse infoExecutionCourse = InfoExecutionCourse.newInfoFromDomain(executionCourse); throw new MaxResponsibleForExceed(infoExecutionCourse, infoResponsibleFors); } }