+
+ /**
+ *
+ * @param sourceTaxon
+ * @param relationship
+ * @return
+ */
+ public static TaxonRelationshipTypeInverseContainer CreateFromSource(Taxon sourceTaxon, TaxonRelationship relationship){
+ return new TaxonRelationshipTypeInverseContainer(relationship.getType(), isRelationshipInverse(sourceTaxon, relationship));
+ }
+
+ /**
+ *
+ * @param sourceTaxon
+ * @param relationship
+ * @return
+ */
+ public static Taxon RelatedTaxon(Taxon sourceTaxon, TaxonRelationship relationship){
+ return isRelationshipInverse(sourceTaxon, relationship) ? relationship.getFromTaxon() : relationship.getToTaxon();
+ }
+
+ /**
+ *
+ * @param sourceTaxon
+ * @param relationship
+ * @return
+ */
+ private static boolean isRelationshipInverse(Taxon sourceTaxon, TaxonRelationship relationship){
+ return relationship.getFromTaxon().equals(sourceTaxon) ? false : true;
+ }
+
+ /**
+ *
+ * @param type
+ * @param inverse
+ */