public bool Delete(TaxaCommonName commonName)
		{
			if(commonName != null)
				return this.Delete(commonName.Identity);
			return false;
		}
		public abstract bool CanUpdate(TaxaCommonName commonName);
		public abstract bool CanDelete(TaxaCommonName commonName);
		public bool Remove(TaxaUnit taxaUnit, TaxaCommonName taxaCommonName)
		{
			return this.Remove(taxaUnit.Identity, taxaCommonName.Identity);
		}
		public bool Add(TaxaUnit taxaUnit, TaxaCommonName taxaCommonName)
		{
			return this.Add(taxaUnit.Identity, taxaCommonName.Identity);
		}
		public abstract IEnumerable<TaxaUnit> GetTaxaUnitsByCommonName(TaxaCommonName commonName);