+ @Transient\r
+ public TaxonNameBase getNewTaxonNameInstance(Rank rank){\r
+ TaxonNameBase result;\r
+ if (this.equals(NomenclaturalCode.ICBN())){\r
+ result = BotanicalName.NewInstance(rank);\r
+ }else if (this.equals(NomenclaturalCode.ICZN())){\r
+ result = ZoologicalName.NewInstance(rank);\r
+ }else if (this.equals(NomenclaturalCode.ICNCP())){\r
+ result = CultivarPlantName.NewInstance(rank);\r
+ }else if (this.equals(NomenclaturalCode.BACTERIOLOGICAL())){\r
+ result = BacterialName.NewInstance(rank);\r
+ }else if (this.equals(NomenclaturalCode.VIRAL())){\r
+ result = ViralName.NewInstance(rank);\r
+ }else {\r
+ logger.warn("Unknown nomenclatural code: " + this.getUuid());\r
+ result = null;\r
+ }\r
+ return result;\r
+ }\r
+ \r
+ \r