- public List<UuidAndTitleCache<ReferenceBase>> getUuidAndTitle();
-
- public List<ReferenceBase> getAllReferencesForPublishing();
- public List<ReferenceBase> getAllNomenclaturalReferences();
+ public List<UuidAndTitleCache<Reference>> getUuidAndTitle();
+
+ /**
+ * TODO candidate for harmonization: rename to listForPublishing
+ * @return
+ */
+ public List<Reference> getAllReferencesForPublishing();
+
+ /**
+ * TODO candidate for harmonization: rename to listNomenclaturalReferences
+ * @return
+ */
+ public List<Reference> getAllNomenclaturalReferences();
+
+ /**
+ * returns
+ *
+ * <ol>
+ * <li>all taxa directly covered by this reference</li>
+ * <li>all taxa covered by the according in references of this reference</li>
+ * </ol>
+ *
+ * searches for taxa using the following relations:
+ * <ul>
+ * <li>taxon.name.nomenclaturalreference</li>
+ * <li>taxon.descriptions.descriptionElement.sources.citation</li>
+ * <li>taxon.descriptions.descriptionSources</li>
+ * <li>taxon.name.descriptions.descriptionElement.sources</li>
+ * <li>taxon.name.descriptions.descriptionSources</li>
+ * </ul>
+ *
+ * @param reference
+ * @param includeSubordinateReferences TODO
+ * @param propertyPaths
+ * @return
+ */
+ public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<String> propertyPaths);