protected void run(List<String> nonAffiliatedTeachersIds, String executionCourseId) throws FenixServiceException {
final ExecutionCourse executionCourse = FenixFramework.getDomainObject(executionCourseId);
if (executionCourse == null) {
throw new NonExistingServiceException("message.nonExistingCurricularCourse", null);
}
List<NonAffiliatedTeacher> nonAffiliatedTeachersToRemove = new ArrayList<NonAffiliatedTeacher>();
for (NonAffiliatedTeacher nonAffiliatedTeacher : executionCourse.getNonAffiliatedTeachersSet()) {
if (!nonAffiliatedTeachersIds.contains(nonAffiliatedTeacher.getExternalId())) {