docs: protected final List<DCSubject> parseSubjects(final List<Element> eList) {
  
          final List<DCSubject> subjects = new ArrayList<DCSubject>();
  
          for (final Element eSubject : eList) {
  
              final Element description = eSubject.getChild("Description", getRDFNamespace());
  
              if (description != null) {
  
                  final String taxonomy = getTaxonomy(description);
  
                  final List<Element> values = description.getChildren("value", getRDFNamespace());
                  for (final Element value : values) {
  
                      final DCSubject subject = new DCSubjectImpl();
                      subject.setTaxonomyUri(taxonomy);
                      subject.setValue(value.getText());
                      subjects.add(subject);
  
                  }
  
              } else {
                  final DCSubject subject = new DCSubjectImpl();
                  subject.setValue(eSubject.getText());
                  subjects.add(subject);
              }
          }
  
          return subjects;
      }