private void addSubjects(Accessions accession, List<SubjectLinkType> subjectList) throws PersistenceException, ValidationException, UnknownLookupListException { SubjectsDAO subjectDao = new SubjectsDAO(); Subjects subject; ArchDescriptionSubjects accessionSubject; String type; String source; for (SubjectLinkType thisSubject : subjectList) { type = cleanAndTrim( thisSubject.getSubjectTermType(), Subjects.class, Subjects.PROPERTYNAME_SUBJECT_TERM_TYPE); if (type == null) { type = "ingest"; } source = cleanAndTrim( thisSubject.getSubjectSource(), Subjects.class, Subjects.PROPERTYNAME_SUBJECT_SOURCE); if (source == null) { source = "ingest"; } subject = subjectDao.lookupSubject( cleanAndTrim( thisSubject.getSubjectTerm(), Subjects.class, Subjects.PROPERTYNAME_SUBJECT_TERM), type, source, true); accessionSubject = new ArchDescriptionSubjects(subject, accession); accession.addSubject(accessionSubject); } }