001// license-header java merge-point
002//
003// Attention: Generated code! Do not modify by hand!
004// Generated by: hibernate/HibernateSearchProperties.vsl in andromda-spring-cartridge.
005//
006package fr.ifremer.adagio.core.dao;
007
008/*
009 * #%L
010 * SIH-Adagio :: Core for Allegro
011 * $Id:$
012 * $HeadURL:$
013 * %%
014 * Copyright (C) 2012 - 2014 Ifremer
015 * %%
016 * This program is free software: you can redistribute it and/or modify
017 * it under the terms of the GNU Affero General Public License as published by
018 * the Free Software Foundation, either version 3 of the License, or
019 * (at your option) any later version.
020 * 
021 * This program is distributed in the hope that it will be useful,
022 * but WITHOUT ANY WARRANTY; without even the implied warranty of
023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
024 * GNU General Public License for more details.
025 * 
026 * You should have received a copy of the GNU Affero General Public License
027 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
028 * #L%
029 */
030
031import fr.ifremer.adagio.core.dao.administration.programStrategy.AcquisitionLevelImpl;
032import fr.ifremer.adagio.core.dao.administration.programStrategy.AppliedPeriodImpl;
033import fr.ifremer.adagio.core.dao.administration.programStrategy.AppliedStrategyImpl;
034import fr.ifremer.adagio.core.dao.administration.programStrategy.BatchModelAppliedStrategyImpl;
035import fr.ifremer.adagio.core.dao.administration.programStrategy.PmfmAppliedStrategyImpl;
036import fr.ifremer.adagio.core.dao.administration.programStrategy.PmfmStrategyImpl;
037import fr.ifremer.adagio.core.dao.administration.programStrategy.Program2DepartmentImpl;
038import fr.ifremer.adagio.core.dao.administration.programStrategy.Program2PersonExceptionImpl;
039import fr.ifremer.adagio.core.dao.administration.programStrategy.Program2PersonImpl;
040import fr.ifremer.adagio.core.dao.administration.programStrategy.ProgramImpl;
041import fr.ifremer.adagio.core.dao.administration.programStrategy.ProgramPrivilegeImpl;
042import fr.ifremer.adagio.core.dao.administration.programStrategy.ReferenceTaxonStrategyImpl;
043import fr.ifremer.adagio.core.dao.administration.programStrategy.StrategyImpl;
044import fr.ifremer.adagio.core.dao.administration.user.DepartmentImpl;
045import fr.ifremer.adagio.core.dao.administration.user.DepartmentPrivilegeTransfertImpl;
046import fr.ifremer.adagio.core.dao.administration.user.ManagedDataImpl;
047import fr.ifremer.adagio.core.dao.administration.user.ManagedDataTransferImpl;
048import fr.ifremer.adagio.core.dao.administration.user.ManagedDataTypeImpl;
049import fr.ifremer.adagio.core.dao.administration.user.PersonImpl;
050import fr.ifremer.adagio.core.dao.administration.user.PersonSessionImpl;
051import fr.ifremer.adagio.core.dao.administration.user.PersonSessionVesselImpl;
052import fr.ifremer.adagio.core.dao.administration.user.UserProfilImpl;
053import fr.ifremer.adagio.core.dao.administration.user.VesselManagePeriodImpl;
054import fr.ifremer.adagio.core.dao.administration.user.ageReader.AgeReaderQualificationImpl;
055import fr.ifremer.adagio.core.dao.data.batch.BatchExhaustiveInventoryImpl;
056import fr.ifremer.adagio.core.dao.data.batch.BatchImpl;
057import fr.ifremer.adagio.core.dao.data.batch.BatchModelImpl;
058import fr.ifremer.adagio.core.dao.data.batch.CatchBatchImpl;
059import fr.ifremer.adagio.core.dao.data.batch.SortingBatchImpl;
060import fr.ifremer.adagio.core.dao.data.batch.denormalized.DenormalisedBatchSortingValueImpl;
061import fr.ifremer.adagio.core.dao.data.batch.denormalized.DenormalizedBatchImpl;
062import fr.ifremer.adagio.core.dao.data.fishingArea.FishingArea2RegulationLocationImpl;
063import fr.ifremer.adagio.core.dao.data.fishingArea.FishingAreaImpl;
064import fr.ifremer.adagio.core.dao.data.history.DeletedItemHistoryImpl;
065import fr.ifremer.adagio.core.dao.data.history.InsertedItemHistoryImpl;
066import fr.ifremer.adagio.core.dao.data.history.ProcessingHistoryImpl;
067import fr.ifremer.adagio.core.dao.data.history.UpdatedItemHistoryImpl;
068import fr.ifremer.adagio.core.dao.data.link.LinkedItemImpl;
069import fr.ifremer.adagio.core.dao.data.measure.GearPhysicalMeasurementImpl;
070import fr.ifremer.adagio.core.dao.data.measure.GearUseMeasurementImpl;
071import fr.ifremer.adagio.core.dao.data.measure.LandingMeasurementImpl;
072import fr.ifremer.adagio.core.dao.data.measure.MeasurementImpl;
073import fr.ifremer.adagio.core.dao.data.measure.ObservedLocationMeasurementImpl;
074import fr.ifremer.adagio.core.dao.data.measure.ProduceQuantificationMeasurementImpl;
075import fr.ifremer.adagio.core.dao.data.measure.ProduceSortingMeasurementImpl;
076import fr.ifremer.adagio.core.dao.data.measure.QuantificationMeasurementImpl;
077import fr.ifremer.adagio.core.dao.data.measure.SaleMeasurementImpl;
078import fr.ifremer.adagio.core.dao.data.measure.SampleMeasurementImpl;
079import fr.ifremer.adagio.core.dao.data.measure.SortingMeasurementImpl;
080import fr.ifremer.adagio.core.dao.data.measure.SurveyMeasurementImpl;
081import fr.ifremer.adagio.core.dao.data.measure.TakeOverMeasurementImpl;
082import fr.ifremer.adagio.core.dao.data.measure.VesselPersonMeasurementImpl;
083import fr.ifremer.adagio.core.dao.data.measure.VesselPhysicalMeasurementImpl;
084import fr.ifremer.adagio.core.dao.data.measure.VesselPositionMeasurementImpl;
085import fr.ifremer.adagio.core.dao.data.measure.VesselUseMeasurementImpl;
086import fr.ifremer.adagio.core.dao.data.measure.file.MeasurementFileImpl;
087import fr.ifremer.adagio.core.dao.data.measure.photo.PhotoImpl;
088import fr.ifremer.adagio.core.dao.data.operation.FishingOperationImpl;
089import fr.ifremer.adagio.core.dao.data.operation.OperationImpl;
090import fr.ifremer.adagio.core.dao.data.operation.OperationVesselAssociationImpl;
091import fr.ifremer.adagio.core.dao.data.operation.denormalized.DenormalizedOperationImpl;
092import fr.ifremer.adagio.core.dao.data.produce.ProduceImpl;
093import fr.ifremer.adagio.core.dao.data.qualification.AppliedQualificationRuleImpl;
094import fr.ifremer.adagio.core.dao.data.qualification.QualifiedItemImpl;
095import fr.ifremer.adagio.core.dao.data.sale.ExpectedSaleImpl;
096import fr.ifremer.adagio.core.dao.data.sample.SampleImpl;
097import fr.ifremer.adagio.core.dao.data.survey.activity.ActivityCalendarImpl;
098import fr.ifremer.adagio.core.dao.data.survey.activity.DailyActivityCalendarImpl;
099import fr.ifremer.adagio.core.dao.data.survey.declaration.DeclaredDocumentReferenceImpl;
100import fr.ifremer.adagio.core.dao.data.survey.economy.EconomicalSurveyImpl;
101import fr.ifremer.adagio.core.dao.data.survey.fishingEffort.FishingEffortCalendarImpl;
102import fr.ifremer.adagio.core.dao.data.survey.fishingTrip.FishingTripImpl;
103import fr.ifremer.adagio.core.dao.data.survey.fishingTrip.FishingTripOriginImpl;
104import fr.ifremer.adagio.core.dao.data.survey.fishingTrip.ObservedFishingTripImpl;
105import fr.ifremer.adagio.core.dao.data.survey.landing.LandingImpl;
106import fr.ifremer.adagio.core.dao.data.survey.landing.LandingOriginImpl;
107import fr.ifremer.adagio.core.dao.data.survey.landing.ObservedLandingImpl;
108import fr.ifremer.adagio.core.dao.data.survey.observedLocation.ObservedLocationFeaturesImpl;
109import fr.ifremer.adagio.core.dao.data.survey.observedLocation.ObservedLocationImpl;
110import fr.ifremer.adagio.core.dao.data.survey.physicalGear.PhysicalGearSurveyImpl;
111import fr.ifremer.adagio.core.dao.data.survey.sale.ObservedSaleImpl;
112import fr.ifremer.adagio.core.dao.data.survey.sale.SaleImpl;
113import fr.ifremer.adagio.core.dao.data.survey.sale.SaleOriginImpl;
114import fr.ifremer.adagio.core.dao.data.survey.scientificCruise.ScientificCruiseImpl;
115import fr.ifremer.adagio.core.dao.data.survey.takeOver.TakeOverImpl;
116import fr.ifremer.adagio.core.dao.data.transshipment.TransshipmentImpl;
117import fr.ifremer.adagio.core.dao.data.vessel.VesselCommissioningPeriodImpl;
118import fr.ifremer.adagio.core.dao.data.vessel.VesselFleetEventImpl;
119import fr.ifremer.adagio.core.dao.data.vessel.VesselImpl;
120import fr.ifremer.adagio.core.dao.data.vessel.VesselOwnerImpl;
121import fr.ifremer.adagio.core.dao.data.vessel.VesselOwnerPeriodImpl;
122import fr.ifremer.adagio.core.dao.data.vessel.VesselRegistrationPeriodImpl;
123import fr.ifremer.adagio.core.dao.data.vessel.feature.person.VesselPersonFeaturesImpl;
124import fr.ifremer.adagio.core.dao.data.vessel.feature.person.VesselPersonImpl;
125import fr.ifremer.adagio.core.dao.data.vessel.feature.physical.GearPhysicalFeaturesImpl;
126import fr.ifremer.adagio.core.dao.data.vessel.feature.physical.GearPhysicalFeaturesOriginImpl;
127import fr.ifremer.adagio.core.dao.data.vessel.feature.physical.PhysicalFeaturesImpl;
128import fr.ifremer.adagio.core.dao.data.vessel.feature.physical.VesselFeaturesImpl;
129import fr.ifremer.adagio.core.dao.data.vessel.feature.physical.VesselPhysicalFeaturesImpl;
130import fr.ifremer.adagio.core.dao.data.vessel.feature.physical.VesselPhysicalFeaturesOriginImpl;
131import fr.ifremer.adagio.core.dao.data.vessel.feature.use.GearUseFeaturesImpl;
132import fr.ifremer.adagio.core.dao.data.vessel.feature.use.GearUseFeaturesOriginImpl;
133import fr.ifremer.adagio.core.dao.data.vessel.feature.use.UseFeaturesImpl;
134import fr.ifremer.adagio.core.dao.data.vessel.feature.use.VesselUseFeaturesImpl;
135import fr.ifremer.adagio.core.dao.data.vessel.feature.use.VesselUseFeaturesOriginImpl;
136import fr.ifremer.adagio.core.dao.data.vessel.position.VesselPositionImpl;
137import fr.ifremer.adagio.core.dao.referential.AnalysisInstrumentImpl;
138import fr.ifremer.adagio.core.dao.referential.DepthGradientImpl;
139import fr.ifremer.adagio.core.dao.referential.DistanceToCoastGradientImpl;
140import fr.ifremer.adagio.core.dao.referential.EducationGradeImpl;
141import fr.ifremer.adagio.core.dao.referential.LinkedItemTypeImpl;
142import fr.ifremer.adagio.core.dao.referential.NearbySpecificAreaImpl;
143import fr.ifremer.adagio.core.dao.referential.NumericalPrecisionImpl;
144import fr.ifremer.adagio.core.dao.referential.ObjectTypeImpl;
145import fr.ifremer.adagio.core.dao.referential.PhotoTypeImpl;
146import fr.ifremer.adagio.core.dao.referential.PrecisionTypeImpl;
147import fr.ifremer.adagio.core.dao.referential.ProcessingStatusImpl;
148import fr.ifremer.adagio.core.dao.referential.ProcessingTypeImpl;
149import fr.ifremer.adagio.core.dao.referential.QualityFlagImpl;
150import fr.ifremer.adagio.core.dao.referential.SaleTypeImpl;
151import fr.ifremer.adagio.core.dao.referential.StatusImpl;
152import fr.ifremer.adagio.core.dao.referential.VesselPersonRoleImpl;
153import fr.ifremer.adagio.core.dao.referential.VesselTypeImpl;
154import fr.ifremer.adagio.core.dao.referential.buyer.BuyerImpl;
155import fr.ifremer.adagio.core.dao.referential.buyer.BuyerTypeImpl;
156import fr.ifremer.adagio.core.dao.referential.conversion.RoundWeightConversionImpl;
157import fr.ifremer.adagio.core.dao.referential.conversion.UnitConversionImpl;
158import fr.ifremer.adagio.core.dao.referential.conversion.WeightLengthConversionImpl;
159import fr.ifremer.adagio.core.dao.referential.gear.FishingGearImpl;
160import fr.ifremer.adagio.core.dao.referential.gear.GearAssociationImpl;
161import fr.ifremer.adagio.core.dao.referential.gear.GearClassificationAssociationImpl;
162import fr.ifremer.adagio.core.dao.referential.gear.GearClassificationImpl;
163import fr.ifremer.adagio.core.dao.referential.gear.GearImpl;
164import fr.ifremer.adagio.core.dao.referential.grouping.GroupingClassificationImpl;
165import fr.ifremer.adagio.core.dao.referential.grouping.GroupingImpl;
166import fr.ifremer.adagio.core.dao.referential.grouping.GroupingItemImpl;
167import fr.ifremer.adagio.core.dao.referential.grouping.GroupingLevelImpl;
168import fr.ifremer.adagio.core.dao.referential.location.LocationAreaImpl;
169import fr.ifremer.adagio.core.dao.referential.location.LocationAssociationImpl;
170import fr.ifremer.adagio.core.dao.referential.location.LocationClassificationImpl;
171import fr.ifremer.adagio.core.dao.referential.location.LocationImpl;
172import fr.ifremer.adagio.core.dao.referential.location.LocationLevelImpl;
173import fr.ifremer.adagio.core.dao.referential.location.LocationLineImpl;
174import fr.ifremer.adagio.core.dao.referential.location.LocationPointImpl;
175import fr.ifremer.adagio.core.dao.referential.metier.MetierImpl;
176import fr.ifremer.adagio.core.dao.referential.order.OrderItemImpl;
177import fr.ifremer.adagio.core.dao.referential.order.OrderTypeImpl;
178import fr.ifremer.adagio.core.dao.referential.pmfm.AggregationLevelImpl;
179import fr.ifremer.adagio.core.dao.referential.pmfm.FractionImpl;
180import fr.ifremer.adagio.core.dao.referential.pmfm.MatrixImpl;
181import fr.ifremer.adagio.core.dao.referential.pmfm.MethodImpl;
182import fr.ifremer.adagio.core.dao.referential.pmfm.ParameterGroupImpl;
183import fr.ifremer.adagio.core.dao.referential.pmfm.ParameterImpl;
184import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmImpl;
185import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValueImpl;
186import fr.ifremer.adagio.core.dao.referential.pmfm.UnitImpl;
187import fr.ifremer.adagio.core.dao.referential.qualification.QualificationRuleImpl;
188import fr.ifremer.adagio.core.dao.referential.regulation.CorpusImpl;
189import fr.ifremer.adagio.core.dao.referential.regulation.CorpusTypeImpl;
190import fr.ifremer.adagio.core.dao.referential.regulation.FisheryImpl;
191import fr.ifremer.adagio.core.dao.referential.regulation.MinimumSizeAllowedImpl;
192import fr.ifremer.adagio.core.dao.referential.regulation.RegulationArea2RegulationLocationImpl;
193import fr.ifremer.adagio.core.dao.referential.regulation.RegulationAreaImpl;
194import fr.ifremer.adagio.core.dao.referential.regulation.RightToProduceImpl;
195import fr.ifremer.adagio.core.dao.referential.sale.AppliedSizeCategoryImpl;
196import fr.ifremer.adagio.core.dao.referential.samplingScheme.denormalized.DenormalizedSamplingStrataImpl;
197import fr.ifremer.adagio.core.dao.referential.seller.SellerImpl;
198import fr.ifremer.adagio.core.dao.referential.seller.SellerTypeImpl;
199import fr.ifremer.adagio.core.dao.referential.spatial.SpatialItem2LocationImpl;
200import fr.ifremer.adagio.core.dao.referential.spatial.SpatialItemAreaImpl;
201import fr.ifremer.adagio.core.dao.referential.spatial.SpatialItemImpl;
202import fr.ifremer.adagio.core.dao.referential.spatial.SpatialItemLineImpl;
203import fr.ifremer.adagio.core.dao.referential.spatial.SpatialItemPointImpl;
204import fr.ifremer.adagio.core.dao.referential.spatial.SpatialItemTypeImpl;
205import fr.ifremer.adagio.core.dao.referential.taxon.AuthorImpl;
206import fr.ifremer.adagio.core.dao.referential.taxon.CitationImpl;
207import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceDocumentImpl;
208import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxonImpl;
209import fr.ifremer.adagio.core.dao.referential.taxon.TaxonGroupHistoricalRecordImpl;
210import fr.ifremer.adagio.core.dao.referential.taxon.TaxonGroupImpl;
211import fr.ifremer.adagio.core.dao.referential.taxon.TaxonGroupInformationImpl;
212import fr.ifremer.adagio.core.dao.referential.taxon.TaxonGroupTypeImpl;
213import fr.ifremer.adagio.core.dao.referential.taxon.TaxonInformationHistoryImpl;
214import fr.ifremer.adagio.core.dao.referential.taxon.TaxonInformationImpl;
215import fr.ifremer.adagio.core.dao.referential.taxon.TaxonNameHistoryImpl;
216import fr.ifremer.adagio.core.dao.referential.taxon.TaxonNameImpl;
217import fr.ifremer.adagio.core.dao.referential.taxon.TaxonomicLevelImpl;
218import fr.ifremer.adagio.core.dao.referential.taxon.VirtualComponentImpl;
219import fr.ifremer.adagio.core.dao.referential.transcribing.TranscribingItemImpl;
220import fr.ifremer.adagio.core.dao.referential.transcribing.TranscribingItemTypeImpl;
221import fr.ifremer.adagio.core.dao.referential.transcribing.TranscribingSideImpl;
222import fr.ifremer.adagio.core.dao.referential.transcribing.TranscribingSystemImpl;
223import fr.ifremer.adagio.core.dao.technical.optimization.grouping.GroupingItemHierarchyImpl;
224import fr.ifremer.adagio.core.dao.technical.optimization.grouping.GroupingVesselHierarchyImpl;
225import fr.ifremer.adagio.core.dao.technical.optimization.location.LocationHierarchyExceptionImpl;
226import fr.ifremer.adagio.core.dao.technical.optimization.location.LocationHierarchyImpl;
227import fr.ifremer.adagio.core.dao.technical.optimization.taxon.TaxonGroup2TaxonHierarchyImpl;
228import fr.ifremer.adagio.core.dao.technical.optimization.taxon.TaxonGroupHierarchyImpl;
229import fr.ifremer.adagio.core.dao.technical.optimization.vessel.DenormalizedVesselImpl;
230import fr.ifremer.adagio.core.dao.technical.versionning.SystemVersionImpl;
231import java.util.Arrays;
232import java.util.Collection;
233import java.util.HashMap;
234import java.util.Map;
235import org.apache.commons.collections.CollectionUtils;
236import org.apache.commons.collections.Predicate;
237
238/**
239 * Stores the embedded values and associations of all entities in the system by type.
240 * Is used to determine the appropriate parameter name when an embedded value's property
241 * is referenced as the attribute to search by (as opposed to an association).
242 *
243 * @author Chad Brandon
244 */
245@SuppressWarnings({"unchecked"})
246public class CriteriaSearchProperties
247{
248    private static final Map embeddedValuesByType = new HashMap();
249    private static final Map embeddedValueNamesByType = new HashMap();
250    private static final Map navigableAssociationEndsByType = new HashMap();
251
252    static
253    {
254        initializeSample1();
255        initializeQualifiedItem2();
256        initializeAppliedQualificationRule3();
257        initializeDenormalizedOperation4();
258        initializeOperation5();
259        initializeFishingOperation6();
260        initializeOperationVesselAssociation7();
261        initializeExpectedSale8();
262        initializeCatchBatch9();
263        initializeBatchExhaustiveInventory10();
264        initializeSortingBatch11();
265        initializeDenormalizedBatch12();
266        initializeDenormalisedBatchSortingValue13();
267        initializeBatch14();
268        initializeBatchModel15();
269        initializeFishingTripOrigin16();
270        initializeObservedFishingTrip17();
271        initializeFishingTrip18();
272        initializePhysicalGearSurvey19();
273        initializeSaleOrigin20();
274        initializeObservedSale21();
275        initializeSale22();
276        initializeScientificCruise23();
277        initializeDailyActivityCalendar24();
278        initializeActivityCalendar25();
279        initializeEconomicalSurvey26();
280        initializeDeclaredDocumentReference27();
281        initializeFishingEffortCalendar28();
282        initializeLandingOrigin29();
283        initializeLanding30();
284        initializeObservedLanding31();
285        initializeTakeOver32();
286        initializeObservedLocation33();
287        initializeObservedLocationFeatures34();
288        initializeProduce35();
289        initializeFishingArea2RegulationLocation36();
290        initializeFishingArea37();
291        initializeInsertedItemHistory38();
292        initializeUpdatedItemHistory39();
293        initializeProcessingHistory40();
294        initializeDeletedItemHistory41();
295        initializeTransshipment42();
296        initializeVessel43();
297        initializeVesselUseFeatures44();
298        initializeUseFeatures45();
299        initializeGearUseFeaturesOrigin46();
300        initializeVesselUseFeaturesOrigin47();
301        initializeGearUseFeatures48();
302        initializeVesselPerson49();
303        initializeVesselPersonFeatures50();
304        initializeVesselFeatures51();
305        initializePhysicalFeatures52();
306        initializeVesselPhysicalFeatures53();
307        initializeGearPhysicalFeatures54();
308        initializeVesselPhysicalFeaturesOrigin55();
309        initializeGearPhysicalFeaturesOrigin56();
310        initializeVesselPosition57();
311        initializeVesselOwner58();
312        initializeVesselRegistrationPeriod59();
313        initializeVesselFleetEvent60();
314        initializeVesselOwnerPeriod61();
315        initializeVesselCommissioningPeriod62();
316        initializeVesselPhysicalMeasurement63();
317        initializeVesselUseMeasurement64();
318        initializeProduceQuantificationMeasurement65();
319        initializeProduceSortingMeasurement66();
320        initializePhoto67();
321        initializeSurveyMeasurement68();
322        initializeTakeOverMeasurement69();
323        initializeQuantificationMeasurement70();
324        initializeVesselPersonMeasurement71();
325        initializeGearUseMeasurement72();
326        initializeSampleMeasurement73();
327        initializeGearPhysicalMeasurement74();
328        initializeMeasurementFile75();
329        initializeSortingMeasurement76();
330        initializeVesselPositionMeasurement77();
331        initializeMeasurement78();
332        initializeSaleMeasurement79();
333        initializeLandingMeasurement80();
334        initializeObservedLocationMeasurement81();
335        initializeLinkedItem82();
336        initializeAnalysisInstrument83();
337        initializeNearbySpecificArea84();
338        initializeOrderType85();
339        initializeOrderItem86();
340        initializeTaxonGroupType87();
341        initializeTaxonGroupHistoricalRecord88();
342        initializeTaxonName89();
343        initializeAuthor90();
344        initializeReferenceTaxon91();
345        initializeVirtualComponent92();
346        initializeTaxonInformation93();
347        initializeReferenceDocument94();
348        initializeTaxonomicLevel95();
349        initializeTaxonGroupInformation96();
350        initializeTaxonInformationHistory97();
351        initializeCitation98();
352        initializeTaxonNameHistory99();
353        initializeTaxonGroup100();
354        initializePrecisionType101();
355        initializeLocation102();
356        initializeLocationLevel103();
357        initializeLocationPoint104();
358        initializeLocationAssociation105();
359        initializeLocationArea106();
360        initializeLocationLine107();
361        initializeLocationClassification108();
362        initializeObjectType109();
363        initializeProcessingType110();
364        initializeBuyerType111();
365        initializeBuyer112();
366        initializeLinkedItemType113();
367        initializeDistanceToCoastGradient114();
368        initializeSpatialItem115();
369        initializeSpatialItemType116();
370        initializeSpatialItemLine117();
371        initializeSpatialItemPoint118();
372        initializeSpatialItem2Location119();
373        initializeSpatialItemArea120();
374        initializeEducationGrade121();
375        initializeDenormalizedSamplingStrata122();
376        initializeTranscribingItemType123();
377        initializeTranscribingSide124();
378        initializeTranscribingSystem125();
379        initializeTranscribingItem126();
380        initializeVesselPersonRole127();
381        initializeMatrix128();
382        initializeAggregationLevel129();
383        initializePmfm130();
384        initializeFraction131();
385        initializeMethod132();
386        initializeParameterGroup133();
387        initializeParameter134();
388        initializeUnit135();
389        initializeQualitativeValue136();
390        initializeNumericalPrecision137();
391        initializeStatus138();
392        initializeDepthGradient139();
393        initializeQualityFlag140();
394        initializeGrouping141();
395        initializeGroupingItem142();
396        initializeGroupingLevel143();
397        initializeGroupingClassification144();
398        initializeSeller145();
399        initializeSellerType146();
400        initializeProcessingStatus147();
401        initializeUnitConversion148();
402        initializeRoundWeightConversion149();
403        initializeWeightLengthConversion150();
404        initializeCorpusType151();
405        initializeFishery152();
406        initializeRightToProduce153();
407        initializeRegulationArea2RegulationLocation154();
408        initializeMinimumSizeAllowed155();
409        initializeRegulationArea156();
410        initializeCorpus157();
411        initializeGearAssociation158();
412        initializeFishingGear159();
413        initializeGear160();
414        initializeGearClassificationAssociation161();
415        initializeGearClassification162();
416        initializeVesselType163();
417        initializeSaleType164();
418        initializeQualificationRule165();
419        initializePhotoType166();
420        initializeMetier167();
421        initializeAppliedSizeCategory168();
422        initializeSystemVersion169();
423        initializeTaxonGroup2TaxonHierarchy170();
424        initializeTaxonGroupHierarchy171();
425        initializeGroupingItemHierarchy172();
426        initializeGroupingVesselHierarchy173();
427        initializeLocationHierarchyException174();
428        initializeLocationHierarchy175();
429        initializeDenormalizedVessel176();
430        initializeProgram2Department177();
431        initializeProgram178();
432        initializeBatchModelAppliedStrategy179();
433        initializePmfmStrategy180();
434        initializeProgramPrivilege181();
435        initializeAppliedPeriod182();
436        initializeStrategy183();
437        initializeProgram2Person184();
438        initializeAppliedStrategy185();
439        initializeProgram2PersonException186();
440        initializeAcquisitionLevel187();
441        initializePmfmAppliedStrategy188();
442        initializeReferenceTaxonStrategy189();
443        initializeDepartment190();
444        initializeManagedDataTransfer191();
445        initializeAgeReaderQualification192();
446        initializeDepartmentPrivilegeTransfert193();
447        initializeManagedDataType194();
448        initializePersonSession195();
449        initializeVesselManagePeriod196();
450        initializePerson197();
451        initializePersonSessionVessel198();
452        initializeManagedData199();
453        initializeUserProfil200();
454    }
455
456    private static final void initializeSample1()
457    {
458        embeddedValueNamesByType.put(
459            SampleImpl.class,
460            null);
461        embeddedValuesByType.put(
462            SampleImpl.class,
463            null);
464        navigableAssociationEndsByType.put(
465            SampleImpl.class,
466            Arrays.asList(
467                new PropertyType[]
468                {
469                    new PropertyType("fishingAreas", FishingAreaImpl.class),
470                    new PropertyType("sizeUnit", UnitImpl.class),
471                    new PropertyType("recorderDepartment", DepartmentImpl.class),
472                    new PropertyType("childSamples", SampleImpl.class),
473                    new PropertyType("parentSample", SampleImpl.class),
474                    new PropertyType("recorderPerson", PersonImpl.class),
475                    new PropertyType("matrix", MatrixImpl.class),
476                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
477                    new PropertyType("program", ProgramImpl.class),
478                    new PropertyType("taxonGroup", TaxonGroupImpl.class),
479                    new PropertyType("batch", BatchImpl.class),
480                    new PropertyType("qualityFlag", QualityFlagImpl.class),
481                    new PropertyType("fishingOperation", FishingOperationImpl.class),
482                    new PropertyType("sampleMeasurements", SampleMeasurementImpl.class)
483                }
484            )
485        );
486    }
487
488    private static final void initializeQualifiedItem2()
489    {
490        embeddedValueNamesByType.put(
491            QualifiedItemImpl.class,
492            null);
493        embeddedValuesByType.put(
494            QualifiedItemImpl.class,
495            null);
496        navigableAssociationEndsByType.put(
497            QualifiedItemImpl.class,
498            Arrays.asList(
499                new PropertyType[]
500                {
501                    new PropertyType("appliedQualificationRules", AppliedQualificationRuleImpl.class),
502                    new PropertyType("objectType", ObjectTypeImpl.class)
503                }
504            )
505        );
506    }
507
508    private static final void initializeAppliedQualificationRule3()
509    {
510        embeddedValueNamesByType.put(
511            AppliedQualificationRuleImpl.class,
512            null);
513        embeddedValuesByType.put(
514            AppliedQualificationRuleImpl.class,
515            null);
516        navigableAssociationEndsByType.put(
517            AppliedQualificationRuleImpl.class,
518            Arrays.asList(
519                new PropertyType[]
520                {
521                    new PropertyType("processingHistory", ProcessingHistoryImpl.class),
522                    new PropertyType("qualifiedItem", QualifiedItemImpl.class),
523                    new PropertyType("qualificationRule", QualificationRuleImpl.class),
524                    new PropertyType("qualityFlag", QualityFlagImpl.class)
525                }
526            )
527        );
528    }
529
530    private static final void initializeDenormalizedOperation4()
531    {
532        embeddedValueNamesByType.put(
533            DenormalizedOperationImpl.class,
534            null);
535        embeddedValuesByType.put(
536            DenormalizedOperationImpl.class,
537            null);
538        navigableAssociationEndsByType.put(
539            DenormalizedOperationImpl.class,
540            Arrays.asList(
541                new PropertyType[]
542                {
543                    new PropertyType("fishingTrip", FishingTripImpl.class),
544                    new PropertyType("selectiveDevice", QualitativeValueImpl.class),
545                    new PropertyType("rectangleLocation", LocationImpl.class),
546                    new PropertyType("areaLocation", LocationImpl.class),
547                    new PropertyType("subpolygonLocation", LocationImpl.class),
548                    new PropertyType("gear", GearImpl.class),
549                    new PropertyType("metier", MetierImpl.class)
550                }
551            )
552        );
553    }
554
555    private static final void initializeOperation5()
556    {
557        embeddedValueNamesByType.put(
558            OperationImpl.class,
559            null);
560        embeddedValuesByType.put(
561            OperationImpl.class,
562            null);
563        navigableAssociationEndsByType.put(
564            OperationImpl.class,
565            Arrays.asList(
566                new PropertyType[]
567                {
568                    new PropertyType("vesselPersonFeatures", VesselPersonFeaturesImpl.class),
569                    new PropertyType("qualityFlag", QualityFlagImpl.class),
570                    new PropertyType("vessel", VesselImpl.class),
571                    new PropertyType("operationVesselAssociations", OperationVesselAssociationImpl.class),
572                    new PropertyType("fishingTrip", FishingTripImpl.class),
573                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
574                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class),
575                    new PropertyType("gearPhysicalFeatures", GearPhysicalFeaturesImpl.class),
576                    new PropertyType("vesselPositions", VesselPositionImpl.class)
577                }
578            )
579        );
580    }
581
582    private static final void initializeFishingOperation6()
583    {
584        embeddedValueNamesByType.put(
585            FishingOperationImpl.class,
586            null);
587        embeddedValuesByType.put(
588            FishingOperationImpl.class,
589            null);
590        navigableAssociationEndsByType.put(
591            FishingOperationImpl.class,
592            Arrays.asList(
593                new PropertyType[]
594                {
595                    new PropertyType("vesselPersonFeatures", VesselPersonFeaturesImpl.class),
596                    new PropertyType("samples", SampleImpl.class),
597                    new PropertyType("qualityFlag", QualityFlagImpl.class),
598                    new PropertyType("vessel", VesselImpl.class),
599                    new PropertyType("operationVesselAssociations", OperationVesselAssociationImpl.class),
600                    new PropertyType("catchBatch", CatchBatchImpl.class),
601                    new PropertyType("fishingTrip", FishingTripImpl.class),
602                    new PropertyType("produces", ProduceImpl.class),
603                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
604                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class),
605                    new PropertyType("gearPhysicalFeatures", GearPhysicalFeaturesImpl.class),
606                    new PropertyType("vesselPositions", VesselPositionImpl.class)
607                }
608            )
609        );
610    }
611
612    private static final void initializeOperationVesselAssociation7()
613    {
614        embeddedValueNamesByType.put(
615            OperationVesselAssociationImpl.class,
616            null);
617        embeddedValuesByType.put(
618            OperationVesselAssociationImpl.class,
619            null);
620        navigableAssociationEndsByType.put(
621            OperationVesselAssociationImpl.class,
622            Arrays.asList(
623                new PropertyType[]
624                {
625                    new PropertyType("vessel", VesselImpl.class),
626                    new PropertyType("operation", OperationImpl.class)
627                }
628            )
629        );
630    }
631
632    private static final void initializeExpectedSale8()
633    {
634        embeddedValueNamesByType.put(
635            ExpectedSaleImpl.class,
636            null);
637        embeddedValuesByType.put(
638            ExpectedSaleImpl.class,
639            null);
640        navigableAssociationEndsByType.put(
641            ExpectedSaleImpl.class,
642            Arrays.asList(
643                new PropertyType[]
644                {
645                    new PropertyType("produces", ProduceImpl.class),
646                    new PropertyType("saleLocation", LocationImpl.class),
647                    new PropertyType("observedFishingTrip", ObservedFishingTripImpl.class),
648                    new PropertyType("saleType", SaleTypeImpl.class),
649                    new PropertyType("observedLanding", ObservedLandingImpl.class),
650                    new PropertyType("saleMeasurements", SaleMeasurementImpl.class)
651                }
652            )
653        );
654    }
655
656    private static final void initializeCatchBatch9()
657    {
658        embeddedValueNamesByType.put(
659            CatchBatchImpl.class,
660            null);
661        embeddedValuesByType.put(
662            CatchBatchImpl.class,
663            null);
664        navigableAssociationEndsByType.put(
665            CatchBatchImpl.class,
666            Arrays.asList(
667                new PropertyType[]
668                {
669                    new PropertyType("location", LocationImpl.class),
670                    new PropertyType("parentBatch", BatchImpl.class),
671                    new PropertyType("childBatchs", BatchImpl.class),
672                    new PropertyType("fishingOperation", FishingOperationImpl.class),
673                    new PropertyType("batchExhaustiveInventories", BatchExhaustiveInventoryImpl.class),
674                    new PropertyType("qualityFlag", QualityFlagImpl.class),
675                    new PropertyType("batchModel", BatchModelImpl.class),
676                    new PropertyType("sale", SaleImpl.class),
677                    new PropertyType("landing", LandingImpl.class),
678                    new PropertyType("produces", ProduceImpl.class),
679                    new PropertyType("quantificationMeasurements", QuantificationMeasurementImpl.class)
680                }
681            )
682        );
683    }
684
685    private static final void initializeBatchExhaustiveInventory10()
686    {
687        embeddedValueNamesByType.put(
688            BatchExhaustiveInventoryImpl.class,
689            null);
690        embeddedValuesByType.put(
691            BatchExhaustiveInventoryImpl.class,
692            null);
693        navigableAssociationEndsByType.put(
694            BatchExhaustiveInventoryImpl.class,
695            Arrays.asList(
696                new PropertyType[]
697                {
698                    new PropertyType("batch", BatchImpl.class)
699                }
700            )
701        );
702    }
703
704    private static final void initializeSortingBatch11()
705    {
706        embeddedValueNamesByType.put(
707            SortingBatchImpl.class,
708            null);
709        embeddedValuesByType.put(
710            SortingBatchImpl.class,
711            null);
712        navigableAssociationEndsByType.put(
713            SortingBatchImpl.class,
714            Arrays.asList(
715                new PropertyType[]
716                {
717                    new PropertyType("location", LocationImpl.class),
718                    new PropertyType("rootBatch", CatchBatchImpl.class),
719                    new PropertyType("parentBatch", BatchImpl.class),
720                    new PropertyType("childBatchs", BatchImpl.class),
721                    new PropertyType("taxonGroup", TaxonGroupImpl.class),
722                    new PropertyType("batchExhaustiveInventories", BatchExhaustiveInventoryImpl.class),
723                    new PropertyType("qualityFlag", QualityFlagImpl.class),
724                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
725                    new PropertyType("produces", ProduceImpl.class),
726                    new PropertyType("quantificationMeasurements", QuantificationMeasurementImpl.class),
727                    new PropertyType("sortingMeasurements", SortingMeasurementImpl.class)
728                }
729            )
730        );
731    }
732
733    private static final void initializeDenormalizedBatch12()
734    {
735        embeddedValueNamesByType.put(
736            DenormalizedBatchImpl.class,
737            null);
738        embeddedValuesByType.put(
739            DenormalizedBatchImpl.class,
740            null);
741        navigableAssociationEndsByType.put(
742            DenormalizedBatchImpl.class,
743            Arrays.asList(
744                new PropertyType[]
745                {
746                    new PropertyType("weightMethod", MethodImpl.class),
747                    new PropertyType("sale", SaleImpl.class),
748                    new PropertyType("inheritedTaxonGroup", TaxonGroupImpl.class),
749                    new PropertyType("calculatedTaxonGroup", TaxonGroupImpl.class),
750                    new PropertyType("inheritedReferenceTaxon", ReferenceTaxonImpl.class),
751                    new PropertyType("childBatchs", DenormalizedBatchImpl.class),
752                    new PropertyType("parentBatch", DenormalizedBatchImpl.class),
753                    new PropertyType("operation", OperationImpl.class),
754                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
755                    new PropertyType("denormalisedBatchSortingValues", DenormalisedBatchSortingValueImpl.class),
756                    new PropertyType("taxonGroup", TaxonGroupImpl.class),
757                    new PropertyType("qualityFlag", QualityFlagImpl.class)
758                }
759            )
760        );
761    }
762
763    private static final void initializeDenormalisedBatchSortingValue13()
764    {
765        embeddedValueNamesByType.put(
766            DenormalisedBatchSortingValueImpl.class,
767            null);
768        embeddedValuesByType.put(
769            DenormalisedBatchSortingValueImpl.class,
770            null);
771        navigableAssociationEndsByType.put(
772            DenormalisedBatchSortingValueImpl.class,
773            Arrays.asList(
774                new PropertyType[]
775                {
776                    new PropertyType("pmfm", PmfmImpl.class),
777                    new PropertyType("unit", UnitImpl.class),
778                    new PropertyType("denormalizedBatch", DenormalizedBatchImpl.class),
779                    new PropertyType("qualitativeValue", QualitativeValueImpl.class),
780                    new PropertyType("parameter", ParameterImpl.class)
781                }
782            )
783        );
784    }
785
786    private static final void initializeBatch14()
787    {
788        embeddedValueNamesByType.put(
789            BatchImpl.class,
790            null);
791        embeddedValuesByType.put(
792            BatchImpl.class,
793            null);
794        navigableAssociationEndsByType.put(
795            BatchImpl.class,
796            Arrays.asList(
797                new PropertyType[]
798                {
799                    new PropertyType("location", LocationImpl.class),
800                    new PropertyType("parentBatch", BatchImpl.class),
801                    new PropertyType("childBatchs", BatchImpl.class),
802                    new PropertyType("batchExhaustiveInventories", BatchExhaustiveInventoryImpl.class),
803                    new PropertyType("qualityFlag", QualityFlagImpl.class),
804                    new PropertyType("produces", ProduceImpl.class),
805                    new PropertyType("quantificationMeasurements", QuantificationMeasurementImpl.class)
806                }
807            )
808        );
809    }
810
811    private static final void initializeBatchModel15()
812    {
813        embeddedValueNamesByType.put(
814            BatchModelImpl.class,
815            null);
816        embeddedValuesByType.put(
817            BatchModelImpl.class,
818            null);
819        navigableAssociationEndsByType.put(
820            BatchModelImpl.class,
821            Arrays.asList(
822                new PropertyType[]
823                {
824                    new PropertyType("catchBatch", CatchBatchImpl.class),
825                    new PropertyType("recorderPerson", PersonImpl.class),
826                    new PropertyType("recorderDepartment", DepartmentImpl.class)
827                }
828            )
829        );
830    }
831
832    private static final void initializeFishingTripOrigin16()
833    {
834        embeddedValueNamesByType.put(
835            FishingTripOriginImpl.class,
836            null);
837        embeddedValuesByType.put(
838            FishingTripOriginImpl.class,
839            null);
840        navigableAssociationEndsByType.put(
841            FishingTripOriginImpl.class,
842            Arrays.asList(
843                new PropertyType[]
844                {
845                    new PropertyType("program", ProgramImpl.class),
846                    new PropertyType("originFishingTrip", FishingTripImpl.class),
847                    new PropertyType("fishingTrip", FishingTripImpl.class)
848                }
849            )
850        );
851    }
852
853    private static final void initializeObservedFishingTrip17()
854    {
855        embeddedValueNamesByType.put(
856            ObservedFishingTripImpl.class,
857            null);
858        embeddedValuesByType.put(
859            ObservedFishingTripImpl.class,
860            null);
861        navigableAssociationEndsByType.put(
862            ObservedFishingTripImpl.class,
863            Arrays.asList(
864                new PropertyType[]
865                {
866                    new PropertyType("observerPersons", PersonImpl.class),
867                    new PropertyType("vesselPersonFeatures", VesselPersonFeaturesImpl.class),
868                    new PropertyType("samplingStrata", DenormalizedSamplingStrataImpl.class),
869                    new PropertyType("returnLocation", LocationImpl.class),
870                    new PropertyType("departureLocation", LocationImpl.class),
871                    new PropertyType("recorderDepartment", DepartmentImpl.class),
872                    new PropertyType("recorderPerson", PersonImpl.class),
873                    new PropertyType("operations", OperationImpl.class),
874                    new PropertyType("expectedSales", ExpectedSaleImpl.class),
875                    new PropertyType("qualityFlag", QualityFlagImpl.class),
876                    new PropertyType("fishingTripOrigins", FishingTripOriginImpl.class),
877                    new PropertyType("program", ProgramImpl.class),
878                    new PropertyType("vessel", VesselImpl.class),
879                    new PropertyType("sales", SaleImpl.class),
880                    new PropertyType("scientificCruise", ScientificCruiseImpl.class),
881                    new PropertyType("declaredDocumentReference", DeclaredDocumentReferenceImpl.class),
882                    new PropertyType("landings", LandingImpl.class),
883                    new PropertyType("transshipments", TransshipmentImpl.class),
884                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
885                    new PropertyType("gearPhysicalFeatures", GearPhysicalFeaturesImpl.class),
886                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class)
887                }
888            )
889        );
890    }
891
892    private static final void initializeFishingTrip18()
893    {
894        embeddedValueNamesByType.put(
895            FishingTripImpl.class,
896            null);
897        embeddedValuesByType.put(
898            FishingTripImpl.class,
899            null);
900        navigableAssociationEndsByType.put(
901            FishingTripImpl.class,
902            Arrays.asList(
903                new PropertyType[]
904                {
905                    new PropertyType("returnLocation", LocationImpl.class),
906                    new PropertyType("departureLocation", LocationImpl.class),
907                    new PropertyType("vesselPersonFeatures", VesselPersonFeaturesImpl.class),
908                    new PropertyType("recorderDepartment", DepartmentImpl.class),
909                    new PropertyType("recorderPerson", PersonImpl.class),
910                    new PropertyType("operations", OperationImpl.class),
911                    new PropertyType("qualityFlag", QualityFlagImpl.class),
912                    new PropertyType("fishingTripOrigins", FishingTripOriginImpl.class),
913                    new PropertyType("program", ProgramImpl.class),
914                    new PropertyType("vessel", VesselImpl.class),
915                    new PropertyType("sales", SaleImpl.class),
916                    new PropertyType("scientificCruise", ScientificCruiseImpl.class),
917                    new PropertyType("declaredDocumentReference", DeclaredDocumentReferenceImpl.class),
918                    new PropertyType("landings", LandingImpl.class),
919                    new PropertyType("transshipments", TransshipmentImpl.class),
920                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
921                    new PropertyType("gearPhysicalFeatures", GearPhysicalFeaturesImpl.class),
922                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class)
923                }
924            )
925        );
926    }
927
928    private static final void initializePhysicalGearSurvey19()
929    {
930        embeddedValueNamesByType.put(
931            PhysicalGearSurveyImpl.class,
932            null);
933        embeddedValuesByType.put(
934            PhysicalGearSurveyImpl.class,
935            null);
936        navigableAssociationEndsByType.put(
937            PhysicalGearSurveyImpl.class,
938            Arrays.asList(
939                new PropertyType[]
940                {
941                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class),
942                    new PropertyType("recorderDepartment", DepartmentImpl.class),
943                    new PropertyType("recorderPerson", PersonImpl.class),
944                    new PropertyType("program", ProgramImpl.class),
945                    new PropertyType("qualityFlag", QualityFlagImpl.class),
946                    new PropertyType("vesselPhysicalFeatures", VesselPhysicalFeaturesImpl.class),
947                    new PropertyType("vessel", VesselImpl.class),
948                    new PropertyType("gearPhysicalFeatures", GearPhysicalFeaturesImpl.class)
949                }
950            )
951        );
952    }
953
954    private static final void initializeSaleOrigin20()
955    {
956        embeddedValueNamesByType.put(
957            SaleOriginImpl.class,
958            null);
959        embeddedValuesByType.put(
960            SaleOriginImpl.class,
961            null);
962        navigableAssociationEndsByType.put(
963            SaleOriginImpl.class,
964            Arrays.asList(
965                new PropertyType[]
966                {
967                    new PropertyType("sale", SaleImpl.class),
968                    new PropertyType("program", ProgramImpl.class)
969                }
970            )
971        );
972    }
973
974    private static final void initializeObservedSale21()
975    {
976        embeddedValueNamesByType.put(
977            ObservedSaleImpl.class,
978            null);
979        embeddedValuesByType.put(
980            ObservedSaleImpl.class,
981            null);
982        navigableAssociationEndsByType.put(
983            ObservedSaleImpl.class,
984            Arrays.asList(
985                new PropertyType[]
986                {
987                    new PropertyType("observerPersons", PersonImpl.class),
988                    new PropertyType("samplingStrata", DenormalizedSamplingStrataImpl.class),
989                    new PropertyType("saleLocation", LocationImpl.class),
990                    new PropertyType("saleType", SaleTypeImpl.class),
991                    new PropertyType("recorderDepartment", DepartmentImpl.class),
992                    new PropertyType("recorderPerson", PersonImpl.class),
993                    new PropertyType("catchBatch", CatchBatchImpl.class),
994                    new PropertyType("fishingTrip", FishingTripImpl.class),
995                    new PropertyType("saleOrigins", SaleOriginImpl.class),
996                    new PropertyType("program", ProgramImpl.class),
997                    new PropertyType("vessel", VesselImpl.class),
998                    new PropertyType("qualityFlag", QualityFlagImpl.class),
999                    new PropertyType("seller", SellerImpl.class),
1000                    new PropertyType("declaredDocumentReference", DeclaredDocumentReferenceImpl.class),
1001                    new PropertyType("landing", LandingImpl.class),
1002                    new PropertyType("takeOver", TakeOverImpl.class),
1003                    new PropertyType("produces", ProduceImpl.class),
1004                    new PropertyType("fishingAreas", FishingAreaImpl.class),
1005                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class),
1006                    new PropertyType("saleMeasurements", SaleMeasurementImpl.class)
1007                }
1008            )
1009        );
1010    }
1011
1012    private static final void initializeSale22()
1013    {
1014        embeddedValueNamesByType.put(
1015            SaleImpl.class,
1016            null);
1017        embeddedValuesByType.put(
1018            SaleImpl.class,
1019            null);
1020        navigableAssociationEndsByType.put(
1021            SaleImpl.class,
1022            Arrays.asList(
1023                new PropertyType[]
1024                {
1025                    new PropertyType("saleLocation", LocationImpl.class),
1026                    new PropertyType("saleType", SaleTypeImpl.class),
1027                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1028                    new PropertyType("recorderPerson", PersonImpl.class),
1029                    new PropertyType("catchBatch", CatchBatchImpl.class),
1030                    new PropertyType("fishingTrip", FishingTripImpl.class),
1031                    new PropertyType("saleOrigins", SaleOriginImpl.class),
1032                    new PropertyType("program", ProgramImpl.class),
1033                    new PropertyType("vessel", VesselImpl.class),
1034                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1035                    new PropertyType("seller", SellerImpl.class),
1036                    new PropertyType("declaredDocumentReference", DeclaredDocumentReferenceImpl.class),
1037                    new PropertyType("landing", LandingImpl.class),
1038                    new PropertyType("takeOver", TakeOverImpl.class),
1039                    new PropertyType("produces", ProduceImpl.class),
1040                    new PropertyType("fishingAreas", FishingAreaImpl.class),
1041                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class),
1042                    new PropertyType("saleMeasurements", SaleMeasurementImpl.class)
1043                }
1044            )
1045        );
1046    }
1047
1048    private static final void initializeScientificCruise23()
1049    {
1050        embeddedValueNamesByType.put(
1051            ScientificCruiseImpl.class,
1052            null);
1053        embeddedValuesByType.put(
1054            ScientificCruiseImpl.class,
1055            null);
1056        navigableAssociationEndsByType.put(
1057            ScientificCruiseImpl.class,
1058            Arrays.asList(
1059                new PropertyType[]
1060                {
1061                    new PropertyType("managerPerson", PersonImpl.class),
1062                    new PropertyType("vessel", VesselImpl.class),
1063                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1064                    new PropertyType("recorderPerson", PersonImpl.class),
1065                    new PropertyType("fishingTrips", FishingTripImpl.class),
1066                    new PropertyType("program", ProgramImpl.class)
1067                }
1068            )
1069        );
1070    }
1071
1072    private static final void initializeDailyActivityCalendar24()
1073    {
1074        embeddedValueNamesByType.put(
1075            DailyActivityCalendarImpl.class,
1076            null);
1077        embeddedValuesByType.put(
1078            DailyActivityCalendarImpl.class,
1079            null);
1080        navigableAssociationEndsByType.put(
1081            DailyActivityCalendarImpl.class,
1082            Arrays.asList(
1083                new PropertyType[]
1084                {
1085                    new PropertyType("observedLocation", ObservedLocationImpl.class),
1086                    new PropertyType("recorderPerson", PersonImpl.class),
1087                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1088                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1089                    new PropertyType("vessel", VesselImpl.class),
1090                    new PropertyType("program", ProgramImpl.class),
1091                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
1092                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class),
1093                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class)
1094                }
1095            )
1096        );
1097    }
1098
1099    private static final void initializeActivityCalendar25()
1100    {
1101        embeddedValueNamesByType.put(
1102            ActivityCalendarImpl.class,
1103            null);
1104        embeddedValuesByType.put(
1105            ActivityCalendarImpl.class,
1106            null);
1107        navigableAssociationEndsByType.put(
1108            ActivityCalendarImpl.class,
1109            Arrays.asList(
1110                new PropertyType[]
1111                {
1112                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1113                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class),
1114                    new PropertyType("recorderPerson", PersonImpl.class),
1115                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1116                    new PropertyType("vessel", VesselImpl.class),
1117                    new PropertyType("program", ProgramImpl.class),
1118                    new PropertyType("fishingEffortCalendar", FishingEffortCalendarImpl.class),
1119                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
1120                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class)
1121                }
1122            )
1123        );
1124    }
1125
1126    private static final void initializeEconomicalSurvey26()
1127    {
1128        embeddedValueNamesByType.put(
1129            EconomicalSurveyImpl.class,
1130            null);
1131        embeddedValuesByType.put(
1132            EconomicalSurveyImpl.class,
1133            null);
1134        navigableAssociationEndsByType.put(
1135            EconomicalSurveyImpl.class,
1136            Arrays.asList(
1137                new PropertyType[]
1138                {
1139                    new PropertyType("vesselPersonFeatures", VesselPersonFeaturesImpl.class),
1140                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1141                    new PropertyType("recorderPerson", PersonImpl.class),
1142                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1143                    new PropertyType("program", ProgramImpl.class),
1144                    new PropertyType("vesselOwner", VesselOwnerImpl.class),
1145                    new PropertyType("vessel", VesselImpl.class),
1146                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
1147                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class),
1148                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class)
1149                }
1150            )
1151        );
1152    }
1153
1154    private static final void initializeDeclaredDocumentReference27()
1155    {
1156        embeddedValueNamesByType.put(
1157            DeclaredDocumentReferenceImpl.class,
1158            null);
1159        embeddedValuesByType.put(
1160            DeclaredDocumentReferenceImpl.class,
1161            null);
1162        navigableAssociationEndsByType.put(
1163            DeclaredDocumentReferenceImpl.class,
1164            Arrays.asList(
1165                new PropertyType[]
1166                {
1167                    new PropertyType("parentDeclaredDocumentReference", DeclaredDocumentReferenceImpl.class),
1168                    new PropertyType("childDeclaredDocumentReferences", DeclaredDocumentReferenceImpl.class),
1169                    new PropertyType("sales", SaleImpl.class),
1170                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1171                    new PropertyType("recorderPerson", PersonImpl.class),
1172                    new PropertyType("fishingTrips", FishingTripImpl.class),
1173                    new PropertyType("program", ProgramImpl.class),
1174                    new PropertyType("vessel", VesselImpl.class),
1175                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1176                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class)
1177                }
1178            )
1179        );
1180    }
1181
1182    private static final void initializeFishingEffortCalendar28()
1183    {
1184        embeddedValueNamesByType.put(
1185            FishingEffortCalendarImpl.class,
1186            null);
1187        embeddedValuesByType.put(
1188            FishingEffortCalendarImpl.class,
1189            null);
1190        navigableAssociationEndsByType.put(
1191            FishingEffortCalendarImpl.class,
1192            Arrays.asList(
1193                new PropertyType[]
1194                {
1195                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class),
1196                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1197                    new PropertyType("recorderPerson", PersonImpl.class),
1198                    new PropertyType("activityCalendar", ActivityCalendarImpl.class),
1199                    new PropertyType("program", ProgramImpl.class),
1200                    new PropertyType("vessel", VesselImpl.class),
1201                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1202                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
1203                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class)
1204                }
1205            )
1206        );
1207    }
1208
1209    private static final void initializeLandingOrigin29()
1210    {
1211        embeddedValueNamesByType.put(
1212            LandingOriginImpl.class,
1213            null);
1214        embeddedValuesByType.put(
1215            LandingOriginImpl.class,
1216            null);
1217        navigableAssociationEndsByType.put(
1218            LandingOriginImpl.class,
1219            Arrays.asList(
1220                new PropertyType[]
1221                {
1222                    new PropertyType("landing", LandingImpl.class),
1223                    new PropertyType("program", ProgramImpl.class)
1224                }
1225            )
1226        );
1227    }
1228
1229    private static final void initializeLanding30()
1230    {
1231        embeddedValueNamesByType.put(
1232            LandingImpl.class,
1233            null);
1234        embeddedValuesByType.put(
1235            LandingImpl.class,
1236            null);
1237        navigableAssociationEndsByType.put(
1238            LandingImpl.class,
1239            Arrays.asList(
1240                new PropertyType[]
1241                {
1242                    new PropertyType("landingLocation", LocationImpl.class),
1243                    new PropertyType("observedLocation", ObservedLocationImpl.class),
1244                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1245                    new PropertyType("recorderPerson", PersonImpl.class),
1246                    new PropertyType("catchBatch", CatchBatchImpl.class),
1247                    new PropertyType("fishingTrip", FishingTripImpl.class),
1248                    new PropertyType("sales", SaleImpl.class),
1249                    new PropertyType("landingOrigins", LandingOriginImpl.class),
1250                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1251                    new PropertyType("program", ProgramImpl.class),
1252                    new PropertyType("vessel", VesselImpl.class),
1253                    new PropertyType("produces", ProduceImpl.class),
1254                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class),
1255                    new PropertyType("landingMeasurements", LandingMeasurementImpl.class)
1256                }
1257            )
1258        );
1259    }
1260
1261    private static final void initializeObservedLanding31()
1262    {
1263        embeddedValueNamesByType.put(
1264            ObservedLandingImpl.class,
1265            null);
1266        embeddedValuesByType.put(
1267            ObservedLandingImpl.class,
1268            null);
1269        navigableAssociationEndsByType.put(
1270            ObservedLandingImpl.class,
1271            Arrays.asList(
1272                new PropertyType[]
1273                {
1274                    new PropertyType("observedLocation", ObservedLocationImpl.class),
1275                    new PropertyType("observerPersons", PersonImpl.class),
1276                    new PropertyType("landingLocation", LocationImpl.class),
1277                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1278                    new PropertyType("recorderPerson", PersonImpl.class),
1279                    new PropertyType("expectedSales", ExpectedSaleImpl.class),
1280                    new PropertyType("catchBatch", CatchBatchImpl.class),
1281                    new PropertyType("fishingTrip", FishingTripImpl.class),
1282                    new PropertyType("sales", SaleImpl.class),
1283                    new PropertyType("landingOrigins", LandingOriginImpl.class),
1284                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1285                    new PropertyType("program", ProgramImpl.class),
1286                    new PropertyType("vessel", VesselImpl.class),
1287                    new PropertyType("produces", ProduceImpl.class),
1288                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class),
1289                    new PropertyType("landingMeasurements", LandingMeasurementImpl.class)
1290                }
1291            )
1292        );
1293    }
1294
1295    private static final void initializeTakeOver32()
1296    {
1297        embeddedValueNamesByType.put(
1298            TakeOverImpl.class,
1299            null);
1300        embeddedValuesByType.put(
1301            TakeOverImpl.class,
1302            null);
1303        navigableAssociationEndsByType.put(
1304            TakeOverImpl.class,
1305            Arrays.asList(
1306                new PropertyType[]
1307                {
1308                    new PropertyType("takeOverMeasurements", TakeOverMeasurementImpl.class),
1309                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1310                    new PropertyType("recorderPerson", PersonImpl.class),
1311                    new PropertyType("takeOverLocation", LocationImpl.class),
1312                    new PropertyType("storageFacility", SellerImpl.class),
1313                    new PropertyType("sales", SaleImpl.class),
1314                    new PropertyType("fishingTrip", FishingTripImpl.class),
1315                    new PropertyType("seller", SellerImpl.class),
1316                    new PropertyType("vessel", VesselImpl.class),
1317                    new PropertyType("landing", LandingImpl.class),
1318                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1319                    new PropertyType("program", ProgramImpl.class),
1320                    new PropertyType("declaredDocumentReference", DeclaredDocumentReferenceImpl.class),
1321                    new PropertyType("produces", ProduceImpl.class)
1322                }
1323            )
1324        );
1325    }
1326
1327    private static final void initializeObservedLocation33()
1328    {
1329        embeddedValueNamesByType.put(
1330            ObservedLocationImpl.class,
1331            null);
1332        embeddedValuesByType.put(
1333            ObservedLocationImpl.class,
1334            null);
1335        navigableAssociationEndsByType.put(
1336            ObservedLocationImpl.class,
1337            Arrays.asList(
1338                new PropertyType[]
1339                {
1340                    new PropertyType("observers", PersonImpl.class),
1341                    new PropertyType("observedLocationFeatures", ObservedLocationFeaturesImpl.class),
1342                    new PropertyType("recorderPerson", PersonImpl.class),
1343                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1344                    new PropertyType("dailyActivityCalendars", DailyActivityCalendarImpl.class),
1345                    new PropertyType("landings", LandingImpl.class),
1346                    new PropertyType("location", LocationImpl.class),
1347                    new PropertyType("program", ProgramImpl.class),
1348                    new PropertyType("qualityFlag", QualityFlagImpl.class)
1349                }
1350            )
1351        );
1352    }
1353
1354    private static final void initializeObservedLocationFeatures34()
1355    {
1356        embeddedValueNamesByType.put(
1357            ObservedLocationFeaturesImpl.class,
1358            null);
1359        embeddedValuesByType.put(
1360            ObservedLocationFeaturesImpl.class,
1361            null);
1362        navigableAssociationEndsByType.put(
1363            ObservedLocationFeaturesImpl.class,
1364            Arrays.asList(
1365                new PropertyType[]
1366                {
1367                    new PropertyType("metier", MetierImpl.class),
1368                    new PropertyType("observedLocation", ObservedLocationImpl.class),
1369                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1370                    new PropertyType("program", ProgramImpl.class),
1371                    new PropertyType("vesselType", VesselTypeImpl.class),
1372                    new PropertyType("observedLocationMeasurements", ObservedLocationMeasurementImpl.class)
1373                }
1374            )
1375        );
1376    }
1377
1378    private static final void initializeProduce35()
1379    {
1380        embeddedValueNamesByType.put(
1381            ProduceImpl.class,
1382            null);
1383        embeddedValuesByType.put(
1384            ProduceImpl.class,
1385            null);
1386        navigableAssociationEndsByType.put(
1387            ProduceImpl.class,
1388            Arrays.asList(
1389                new PropertyType[]
1390                {
1391                    new PropertyType("otherTaxonGroup", TaxonGroupImpl.class),
1392                    new PropertyType("taxonGroup", TaxonGroupImpl.class),
1393                    new PropertyType("saleType", SaleTypeImpl.class),
1394                    new PropertyType("otherGear", GearImpl.class),
1395                    new PropertyType("dressing", QualitativeValueImpl.class),
1396                    new PropertyType("preservation", QualitativeValueImpl.class),
1397                    new PropertyType("transaction", QualitativeValueImpl.class),
1398                    new PropertyType("freshnessCategory", QualitativeValueImpl.class),
1399                    new PropertyType("sizeCategory", QualitativeValueImpl.class),
1400                    new PropertyType("weightMethod", MethodImpl.class),
1401                    new PropertyType("fishingOperation", FishingOperationImpl.class),
1402                    new PropertyType("expectedSale", ExpectedSaleImpl.class),
1403                    new PropertyType("batch", BatchImpl.class),
1404                    new PropertyType("buyer", BuyerImpl.class),
1405                    new PropertyType("sale", SaleImpl.class),
1406                    new PropertyType("gear", GearImpl.class),
1407                    new PropertyType("landing", LandingImpl.class),
1408                    new PropertyType("takeOver", TakeOverImpl.class),
1409                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1410                    new PropertyType("fishingAreas", FishingAreaImpl.class),
1411                    new PropertyType("transshipment", TransshipmentImpl.class),
1412                    new PropertyType("produceQuantificationMeasurements", ProduceQuantificationMeasurementImpl.class),
1413                    new PropertyType("produceSortingMeasurements", ProduceSortingMeasurementImpl.class)
1414                }
1415            )
1416        );
1417    }
1418
1419    private static final void initializeFishingArea2RegulationLocation36()
1420    {
1421        embeddedValueNamesByType.put(
1422            FishingArea2RegulationLocationImpl.class,
1423            null);
1424        embeddedValuesByType.put(
1425            FishingArea2RegulationLocationImpl.class,
1426            null);
1427        navigableAssociationEndsByType.put(
1428            FishingArea2RegulationLocationImpl.class,
1429            Arrays.asList(
1430                new PropertyType[]
1431                {
1432                    new PropertyType("fishingArea", FishingAreaImpl.class),
1433                    new PropertyType("location", LocationImpl.class)
1434                }
1435            )
1436        );
1437    }
1438
1439    private static final void initializeFishingArea37()
1440    {
1441        embeddedValueNamesByType.put(
1442            FishingAreaImpl.class,
1443            null);
1444        embeddedValuesByType.put(
1445            FishingAreaImpl.class,
1446            null);
1447        navigableAssociationEndsByType.put(
1448            FishingAreaImpl.class,
1449            Arrays.asList(
1450                new PropertyType[]
1451                {
1452                    new PropertyType("sale", SaleImpl.class),
1453                    new PropertyType("regulationLocations", FishingArea2RegulationLocationImpl.class),
1454                    new PropertyType("sample", SampleImpl.class),
1455                    new PropertyType("depthGradient", DepthGradientImpl.class),
1456                    new PropertyType("location", LocationImpl.class),
1457                    new PropertyType("distanceToCoastGradient", DistanceToCoastGradientImpl.class),
1458                    new PropertyType("nearbySpecificArea", NearbySpecificAreaImpl.class),
1459                    new PropertyType("produce", ProduceImpl.class),
1460                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
1461                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class)
1462                }
1463            )
1464        );
1465    }
1466
1467    private static final void initializeInsertedItemHistory38()
1468    {
1469        embeddedValueNamesByType.put(
1470            InsertedItemHistoryImpl.class,
1471            null);
1472        embeddedValuesByType.put(
1473            InsertedItemHistoryImpl.class,
1474            null);
1475        navigableAssociationEndsByType.put(
1476            InsertedItemHistoryImpl.class,
1477            Arrays.asList(
1478                new PropertyType[]
1479                {
1480                    new PropertyType("objectType", ObjectTypeImpl.class),
1481                    new PropertyType("processingHistory", ProcessingHistoryImpl.class)
1482                }
1483            )
1484        );
1485    }
1486
1487    private static final void initializeUpdatedItemHistory39()
1488    {
1489        embeddedValueNamesByType.put(
1490            UpdatedItemHistoryImpl.class,
1491            null);
1492        embeddedValuesByType.put(
1493            UpdatedItemHistoryImpl.class,
1494            null);
1495        navigableAssociationEndsByType.put(
1496            UpdatedItemHistoryImpl.class,
1497            Arrays.asList(
1498                new PropertyType[]
1499                {
1500                    new PropertyType("processingHistory", ProcessingHistoryImpl.class),
1501                    new PropertyType("recorderPerson", PersonImpl.class),
1502                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1503                    new PropertyType("metier", MetierImpl.class),
1504                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
1505                    new PropertyType("taxonGroup", TaxonGroupImpl.class),
1506                    new PropertyType("pmfm", PmfmImpl.class),
1507                    new PropertyType("gear", GearImpl.class),
1508                    new PropertyType("qualitativeValue", QualitativeValueImpl.class),
1509                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1510                    new PropertyType("objectType", ObjectTypeImpl.class)
1511                }
1512            )
1513        );
1514    }
1515
1516    private static final void initializeProcessingHistory40()
1517    {
1518        embeddedValueNamesByType.put(
1519            ProcessingHistoryImpl.class,
1520            null);
1521        embeddedValuesByType.put(
1522            ProcessingHistoryImpl.class,
1523            null);
1524        navigableAssociationEndsByType.put(
1525            ProcessingHistoryImpl.class,
1526            Arrays.asList(
1527                new PropertyType[]
1528                {
1529                    new PropertyType("insertedItemHistories", InsertedItemHistoryImpl.class),
1530                    new PropertyType("updatedItemHistories", UpdatedItemHistoryImpl.class),
1531                    new PropertyType("deletedItemHistories", DeletedItemHistoryImpl.class),
1532                    new PropertyType("processingType", ProcessingTypeImpl.class),
1533                    new PropertyType("processingStatus", ProcessingStatusImpl.class)
1534                }
1535            )
1536        );
1537    }
1538
1539    private static final void initializeDeletedItemHistory41()
1540    {
1541        embeddedValueNamesByType.put(
1542            DeletedItemHistoryImpl.class,
1543            null);
1544        embeddedValuesByType.put(
1545            DeletedItemHistoryImpl.class,
1546            null);
1547        navigableAssociationEndsByType.put(
1548            DeletedItemHistoryImpl.class,
1549            Arrays.asList(
1550                new PropertyType[]
1551                {
1552                    new PropertyType("objectType", ObjectTypeImpl.class),
1553                    new PropertyType("processingHistory", ProcessingHistoryImpl.class),
1554                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1555                    new PropertyType("recorderPerson", PersonImpl.class)
1556                }
1557            )
1558        );
1559    }
1560
1561    private static final void initializeTransshipment42()
1562    {
1563        embeddedValueNamesByType.put(
1564            TransshipmentImpl.class,
1565            null);
1566        embeddedValuesByType.put(
1567            TransshipmentImpl.class,
1568            null);
1569        navigableAssociationEndsByType.put(
1570            TransshipmentImpl.class,
1571            Arrays.asList(
1572                new PropertyType[]
1573                {
1574                    new PropertyType("toVessel", VesselImpl.class),
1575                    new PropertyType("transshipmentLocation", LocationImpl.class),
1576                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1577                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1578                    new PropertyType("fromVessel", VesselImpl.class),
1579                    new PropertyType("recorderPerson", PersonImpl.class),
1580                    new PropertyType("fishingTrip", FishingTripImpl.class),
1581                    new PropertyType("produces", ProduceImpl.class),
1582                    new PropertyType("program", ProgramImpl.class),
1583                    new PropertyType("surveyMeasurements", SurveyMeasurementImpl.class)
1584                }
1585            )
1586        );
1587    }
1588
1589    private static final void initializeVessel43()
1590    {
1591        embeddedValueNamesByType.put(
1592            VesselImpl.class,
1593            null);
1594        embeddedValuesByType.put(
1595            VesselImpl.class,
1596            null);
1597        navigableAssociationEndsByType.put(
1598            VesselImpl.class,
1599            Arrays.asList(
1600                new PropertyType[]
1601                {
1602                    new PropertyType("vesselFleetEvents", VesselFleetEventImpl.class),
1603                    new PropertyType("vesselFeatures", VesselFeaturesImpl.class),
1604                    new PropertyType("vesselRegistrationPeriods", VesselRegistrationPeriodImpl.class),
1605                    new PropertyType("vesselType", VesselTypeImpl.class),
1606                    new PropertyType("program", ProgramImpl.class),
1607                    new PropertyType("status", StatusImpl.class),
1608                    new PropertyType("vesselOwnerPeriods", VesselOwnerPeriodImpl.class),
1609                    new PropertyType("vesselCommissioningPeriods", VesselCommissioningPeriodImpl.class),
1610                    new PropertyType("rightToProduces", RightToProduceImpl.class)
1611                }
1612            )
1613        );
1614    }
1615
1616    private static final void initializeVesselUseFeatures44()
1617    {
1618        embeddedValueNamesByType.put(
1619            VesselUseFeaturesImpl.class,
1620            null);
1621        embeddedValuesByType.put(
1622            VesselUseFeaturesImpl.class,
1623            null);
1624        navigableAssociationEndsByType.put(
1625            VesselUseFeaturesImpl.class,
1626            Arrays.asList(
1627                new PropertyType[]
1628                {
1629                    new PropertyType("program", ProgramImpl.class),
1630                    new PropertyType("basePortLocation", LocationImpl.class),
1631                    new PropertyType("operation", OperationImpl.class),
1632                    new PropertyType("fishingTrip", FishingTripImpl.class),
1633                    new PropertyType("dailyActivityCalendar", DailyActivityCalendarImpl.class),
1634                    new PropertyType("activityCalendar", ActivityCalendarImpl.class),
1635                    new PropertyType("economicalSurvey", EconomicalSurveyImpl.class),
1636                    new PropertyType("fishingEffortCalendar", FishingEffortCalendarImpl.class),
1637                    new PropertyType("fishingAreas", FishingAreaImpl.class),
1638                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1639                    new PropertyType("vessel", VesselImpl.class),
1640                    new PropertyType("vesselUseFeaturesOrigins", VesselUseFeaturesOriginImpl.class),
1641                    new PropertyType("vesselUseMeasurements", VesselUseMeasurementImpl.class)
1642                }
1643            )
1644        );
1645    }
1646
1647    private static final void initializeUseFeatures45()
1648    {
1649        embeddedValueNamesByType.put(
1650            UseFeaturesImpl.class,
1651            null);
1652        embeddedValuesByType.put(
1653            UseFeaturesImpl.class,
1654            null);
1655        navigableAssociationEndsByType.put(
1656            UseFeaturesImpl.class,
1657            Arrays.asList(
1658                new PropertyType[]
1659                {
1660                    new PropertyType("program", ProgramImpl.class),
1661                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1662                    new PropertyType("vessel", VesselImpl.class)
1663                }
1664            )
1665        );
1666    }
1667
1668    private static final void initializeGearUseFeaturesOrigin46()
1669    {
1670        embeddedValueNamesByType.put(
1671            GearUseFeaturesOriginImpl.class,
1672            null);
1673        embeddedValuesByType.put(
1674            GearUseFeaturesOriginImpl.class,
1675            null);
1676        navigableAssociationEndsByType.put(
1677            GearUseFeaturesOriginImpl.class,
1678            Arrays.asList(
1679                new PropertyType[]
1680                {
1681                    new PropertyType("acquisitionLevel", AcquisitionLevelImpl.class),
1682                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class),
1683                    new PropertyType("program", ProgramImpl.class)
1684                }
1685            )
1686        );
1687    }
1688
1689    private static final void initializeVesselUseFeaturesOrigin47()
1690    {
1691        embeddedValueNamesByType.put(
1692            VesselUseFeaturesOriginImpl.class,
1693            null);
1694        embeddedValuesByType.put(
1695            VesselUseFeaturesOriginImpl.class,
1696            null);
1697        navigableAssociationEndsByType.put(
1698            VesselUseFeaturesOriginImpl.class,
1699            Arrays.asList(
1700                new PropertyType[]
1701                {
1702                    new PropertyType("acquisitionLevel", AcquisitionLevelImpl.class),
1703                    new PropertyType("program", ProgramImpl.class),
1704                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class)
1705                }
1706            )
1707        );
1708    }
1709
1710    private static final void initializeGearUseFeatures48()
1711    {
1712        embeddedValueNamesByType.put(
1713            GearUseFeaturesImpl.class,
1714            null);
1715        embeddedValuesByType.put(
1716            GearUseFeaturesImpl.class,
1717            null);
1718        navigableAssociationEndsByType.put(
1719            GearUseFeaturesImpl.class,
1720            Arrays.asList(
1721                new PropertyType[]
1722                {
1723                    new PropertyType("program", ProgramImpl.class),
1724                    new PropertyType("otherGear", GearImpl.class),
1725                    new PropertyType("operation", OperationImpl.class),
1726                    new PropertyType("dailyActivityCalendar", DailyActivityCalendarImpl.class),
1727                    new PropertyType("activityCalendar", ActivityCalendarImpl.class),
1728                    new PropertyType("economicalSurvey", EconomicalSurveyImpl.class),
1729                    new PropertyType("fishingEffortCalendar", FishingEffortCalendarImpl.class),
1730                    new PropertyType("fishingAreas", FishingAreaImpl.class),
1731                    new PropertyType("gear", GearImpl.class),
1732                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1733                    new PropertyType("gearUseFeaturesOrigins", GearUseFeaturesOriginImpl.class),
1734                    new PropertyType("vessel", VesselImpl.class),
1735                    new PropertyType("metier", MetierImpl.class),
1736                    new PropertyType("gearUseMeasurements", GearUseMeasurementImpl.class)
1737                }
1738            )
1739        );
1740    }
1741
1742    private static final void initializeVesselPerson49()
1743    {
1744        embeddedValueNamesByType.put(
1745            VesselPersonImpl.class,
1746            null);
1747        embeddedValuesByType.put(
1748            VesselPersonImpl.class,
1749            null);
1750        navigableAssociationEndsByType.put(
1751            VesselPersonImpl.class,
1752            Arrays.asList(
1753                new PropertyType[]
1754                {
1755                    new PropertyType("educationGrade", EducationGradeImpl.class),
1756                    new PropertyType("countryLocation", LocationImpl.class),
1757                    new PropertyType("program", ProgramImpl.class)
1758                }
1759            )
1760        );
1761    }
1762
1763    private static final void initializeVesselPersonFeatures50()
1764    {
1765        embeddedValueNamesByType.put(
1766            VesselPersonFeaturesImpl.class,
1767            null);
1768        embeddedValuesByType.put(
1769            VesselPersonFeaturesImpl.class,
1770            null);
1771        navigableAssociationEndsByType.put(
1772            VesselPersonFeaturesImpl.class,
1773            Arrays.asList(
1774                new PropertyType[]
1775                {
1776                    new PropertyType("vesselPersonRoles", VesselPersonRoleImpl.class),
1777                    new PropertyType("operation", OperationImpl.class),
1778                    new PropertyType("fishingTrip", FishingTripImpl.class),
1779                    new PropertyType("economicalSurvey", EconomicalSurveyImpl.class),
1780                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1781                    new PropertyType("vesselPerson", VesselPersonImpl.class),
1782                    new PropertyType("person", PersonImpl.class),
1783                    new PropertyType("program", ProgramImpl.class),
1784                    new PropertyType("vessel", VesselImpl.class),
1785                    new PropertyType("vesselPersonMeasurements", VesselPersonMeasurementImpl.class)
1786                }
1787            )
1788        );
1789    }
1790
1791    private static final void initializeVesselFeatures51()
1792    {
1793        embeddedValueNamesByType.put(
1794            VesselFeaturesImpl.class,
1795            null);
1796        embeddedValuesByType.put(
1797            VesselFeaturesImpl.class,
1798            null);
1799        navigableAssociationEndsByType.put(
1800            VesselFeaturesImpl.class,
1801            Arrays.asList(
1802                new PropertyType[]
1803                {
1804                    new PropertyType("basePortLocation", LocationImpl.class),
1805                    new PropertyType("hullMaterial", QualitativeValueImpl.class),
1806                    new PropertyType("vessel", VesselImpl.class)
1807                }
1808            )
1809        );
1810    }
1811
1812    private static final void initializePhysicalFeatures52()
1813    {
1814        embeddedValueNamesByType.put(
1815            PhysicalFeaturesImpl.class,
1816            null);
1817        embeddedValuesByType.put(
1818            PhysicalFeaturesImpl.class,
1819            null);
1820        navigableAssociationEndsByType.put(
1821            PhysicalFeaturesImpl.class,
1822            Arrays.asList(
1823                new PropertyType[]
1824                {
1825                    new PropertyType("program", ProgramImpl.class),
1826                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1827                    new PropertyType("vessel", VesselImpl.class)
1828                }
1829            )
1830        );
1831    }
1832
1833    private static final void initializeVesselPhysicalFeatures53()
1834    {
1835        embeddedValueNamesByType.put(
1836            VesselPhysicalFeaturesImpl.class,
1837            null);
1838        embeddedValuesByType.put(
1839            VesselPhysicalFeaturesImpl.class,
1840            null);
1841        navigableAssociationEndsByType.put(
1842            VesselPhysicalFeaturesImpl.class,
1843            Arrays.asList(
1844                new PropertyType[]
1845                {
1846                    new PropertyType("program", ProgramImpl.class),
1847                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1848                    new PropertyType("baseLandingLocation", LocationImpl.class),
1849                    new PropertyType("recorderPerson", PersonImpl.class),
1850                    new PropertyType("physicalGearSurvey", PhysicalGearSurveyImpl.class),
1851                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1852                    new PropertyType("vessel", VesselImpl.class),
1853                    new PropertyType("vesselPhysicalFeaturesOrigins", VesselPhysicalFeaturesOriginImpl.class),
1854                    new PropertyType("vesselPhysicalMeasurements", VesselPhysicalMeasurementImpl.class)
1855                }
1856            )
1857        );
1858    }
1859
1860    private static final void initializeGearPhysicalFeatures54()
1861    {
1862        embeddedValueNamesByType.put(
1863            GearPhysicalFeaturesImpl.class,
1864            null);
1865        embeddedValuesByType.put(
1866            GearPhysicalFeaturesImpl.class,
1867            null);
1868        navigableAssociationEndsByType.put(
1869            GearPhysicalFeaturesImpl.class,
1870            Arrays.asList(
1871                new PropertyType[]
1872                {
1873                    new PropertyType("program", ProgramImpl.class),
1874                    new PropertyType("otherGear", GearImpl.class),
1875                    new PropertyType("operations", OperationImpl.class),
1876                    new PropertyType("fishingTrip", FishingTripImpl.class),
1877                    new PropertyType("physicalGearSurvey", PhysicalGearSurveyImpl.class),
1878                    new PropertyType("gear", GearImpl.class),
1879                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1880                    new PropertyType("vessel", VesselImpl.class),
1881                    new PropertyType("gearPhysicalFeaturesOrigins", GearPhysicalFeaturesOriginImpl.class),
1882                    new PropertyType("gearPhysicalMeasurements", GearPhysicalMeasurementImpl.class)
1883                }
1884            )
1885        );
1886    }
1887
1888    private static final void initializeVesselPhysicalFeaturesOrigin55()
1889    {
1890        embeddedValueNamesByType.put(
1891            VesselPhysicalFeaturesOriginImpl.class,
1892            null);
1893        embeddedValuesByType.put(
1894            VesselPhysicalFeaturesOriginImpl.class,
1895            null);
1896        navigableAssociationEndsByType.put(
1897            VesselPhysicalFeaturesOriginImpl.class,
1898            Arrays.asList(
1899                new PropertyType[]
1900                {
1901                    new PropertyType("acquisitionLevel", AcquisitionLevelImpl.class),
1902                    new PropertyType("vesselPhysicalFeatures", VesselPhysicalFeaturesImpl.class),
1903                    new PropertyType("program", ProgramImpl.class)
1904                }
1905            )
1906        );
1907    }
1908
1909    private static final void initializeGearPhysicalFeaturesOrigin56()
1910    {
1911        embeddedValueNamesByType.put(
1912            GearPhysicalFeaturesOriginImpl.class,
1913            null);
1914        embeddedValuesByType.put(
1915            GearPhysicalFeaturesOriginImpl.class,
1916            null);
1917        navigableAssociationEndsByType.put(
1918            GearPhysicalFeaturesOriginImpl.class,
1919            Arrays.asList(
1920                new PropertyType[]
1921                {
1922                    new PropertyType("acquisitionLevel", AcquisitionLevelImpl.class),
1923                    new PropertyType("program", ProgramImpl.class),
1924                    new PropertyType("gearPhysicalFeatures", GearPhysicalFeaturesImpl.class)
1925                }
1926            )
1927        );
1928    }
1929
1930    private static final void initializeVesselPosition57()
1931    {
1932        embeddedValueNamesByType.put(
1933            VesselPositionImpl.class,
1934            null);
1935        embeddedValuesByType.put(
1936            VesselPositionImpl.class,
1937            null);
1938        navigableAssociationEndsByType.put(
1939            VesselPositionImpl.class,
1940            Arrays.asList(
1941                new PropertyType[]
1942                {
1943                    new PropertyType("processingHistory", ProcessingHistoryImpl.class),
1944                    new PropertyType("recorderDepartment", DepartmentImpl.class),
1945                    new PropertyType("operation", OperationImpl.class),
1946                    new PropertyType("vessel", VesselImpl.class),
1947                    new PropertyType("program", ProgramImpl.class),
1948                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1949                    new PropertyType("vesselPositionMeasurements", VesselPositionMeasurementImpl.class)
1950                }
1951            )
1952        );
1953    }
1954
1955    private static final void initializeVesselOwner58()
1956    {
1957        embeddedValueNamesByType.put(
1958            VesselOwnerImpl.class,
1959            null);
1960        embeddedValuesByType.put(
1961            VesselOwnerImpl.class,
1962            null);
1963        navigableAssociationEndsByType.put(
1964            VesselOwnerImpl.class,
1965            Arrays.asList(
1966                new PropertyType[]
1967                {
1968                    new PropertyType("program", ProgramImpl.class),
1969                    new PropertyType("countryLocation", LocationImpl.class),
1970                    new PropertyType("rightToProduces", RightToProduceImpl.class)
1971                }
1972            )
1973        );
1974    }
1975
1976    private static final void initializeVesselRegistrationPeriod59()
1977    {
1978        embeddedValueNamesByType.put(
1979            VesselRegistrationPeriodImpl.class,
1980            null);
1981        embeddedValuesByType.put(
1982            VesselRegistrationPeriodImpl.class,
1983            null);
1984        navigableAssociationEndsByType.put(
1985            VesselRegistrationPeriodImpl.class,
1986            Arrays.asList(
1987                new PropertyType[]
1988                {
1989                    new PropertyType("registrationLocation", LocationImpl.class),
1990                    new PropertyType("qualityFlag", QualityFlagImpl.class),
1991                    new PropertyType("vessel", VesselImpl.class)
1992                }
1993            )
1994        );
1995    }
1996
1997    private static final void initializeVesselFleetEvent60()
1998    {
1999        embeddedValueNamesByType.put(
2000            VesselFleetEventImpl.class,
2001            null);
2002        embeddedValuesByType.put(
2003            VesselFleetEventImpl.class,
2004            null);
2005        navigableAssociationEndsByType.put(
2006            VesselFleetEventImpl.class,
2007            Arrays.asList(
2008                new PropertyType[]
2009                {
2010                    new PropertyType("vessel", VesselImpl.class),
2011                    new PropertyType("eventType", QualitativeValueImpl.class)
2012                }
2013            )
2014        );
2015    }
2016
2017    private static final void initializeVesselOwnerPeriod61()
2018    {
2019        embeddedValueNamesByType.put(
2020            VesselOwnerPeriodImpl.class,
2021            null);
2022        embeddedValuesByType.put(
2023            VesselOwnerPeriodImpl.class,
2024            null);
2025        navigableAssociationEndsByType.put(
2026            VesselOwnerPeriodImpl.class,
2027            Arrays.asList(
2028                new PropertyType[]
2029                {
2030                    new PropertyType("vessel", VesselImpl.class),
2031                    new PropertyType("vesselOwner", VesselOwnerImpl.class)
2032                }
2033            )
2034        );
2035    }
2036
2037    private static final void initializeVesselCommissioningPeriod62()
2038    {
2039        embeddedValueNamesByType.put(
2040            VesselCommissioningPeriodImpl.class,
2041            null);
2042        embeddedValuesByType.put(
2043            VesselCommissioningPeriodImpl.class,
2044            null);
2045        navigableAssociationEndsByType.put(
2046            VesselCommissioningPeriodImpl.class,
2047            Arrays.asList(
2048                new PropertyType[]
2049                {
2050                    new PropertyType("vessel", VesselImpl.class),
2051                    new PropertyType("commissioningLocation", LocationImpl.class)
2052                }
2053            )
2054        );
2055    }
2056
2057    private static final void initializeVesselPhysicalMeasurement63()
2058    {
2059        embeddedValueNamesByType.put(
2060            VesselPhysicalMeasurementImpl.class,
2061            null);
2062        embeddedValuesByType.put(
2063            VesselPhysicalMeasurementImpl.class,
2064            null);
2065        navigableAssociationEndsByType.put(
2066            VesselPhysicalMeasurementImpl.class,
2067            Arrays.asList(
2068                new PropertyType[]
2069                {
2070                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2071                    new PropertyType("vesselPhysicalFeatures", VesselPhysicalFeaturesImpl.class),
2072                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2073                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2074                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2075                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2076                    new PropertyType("department", DepartmentImpl.class),
2077                    new PropertyType("pmfm", PmfmImpl.class),
2078                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2079                }
2080            )
2081        );
2082    }
2083
2084    private static final void initializeVesselUseMeasurement64()
2085    {
2086        embeddedValueNamesByType.put(
2087            VesselUseMeasurementImpl.class,
2088            null);
2089        embeddedValuesByType.put(
2090            VesselUseMeasurementImpl.class,
2091            null);
2092        navigableAssociationEndsByType.put(
2093            VesselUseMeasurementImpl.class,
2094            Arrays.asList(
2095                new PropertyType[]
2096                {
2097                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2098                    new PropertyType("vesselUseFeatures", VesselUseFeaturesImpl.class),
2099                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2100                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2101                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2102                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2103                    new PropertyType("department", DepartmentImpl.class),
2104                    new PropertyType("pmfm", PmfmImpl.class),
2105                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2106                }
2107            )
2108        );
2109    }
2110
2111    private static final void initializeProduceQuantificationMeasurement65()
2112    {
2113        embeddedValueNamesByType.put(
2114            ProduceQuantificationMeasurementImpl.class,
2115            null);
2116        embeddedValuesByType.put(
2117            ProduceQuantificationMeasurementImpl.class,
2118            null);
2119        navigableAssociationEndsByType.put(
2120            ProduceQuantificationMeasurementImpl.class,
2121            Arrays.asList(
2122                new PropertyType[]
2123                {
2124                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2125                    new PropertyType("produce", ProduceImpl.class),
2126                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2127                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2128                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2129                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2130                    new PropertyType("department", DepartmentImpl.class),
2131                    new PropertyType("pmfm", PmfmImpl.class),
2132                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2133                }
2134            )
2135        );
2136    }
2137
2138    private static final void initializeProduceSortingMeasurement66()
2139    {
2140        embeddedValueNamesByType.put(
2141            ProduceSortingMeasurementImpl.class,
2142            null);
2143        embeddedValuesByType.put(
2144            ProduceSortingMeasurementImpl.class,
2145            null);
2146        navigableAssociationEndsByType.put(
2147            ProduceSortingMeasurementImpl.class,
2148            Arrays.asList(
2149                new PropertyType[]
2150                {
2151                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2152                    new PropertyType("produce", ProduceImpl.class),
2153                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2154                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2155                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2156                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2157                    new PropertyType("department", DepartmentImpl.class),
2158                    new PropertyType("pmfm", PmfmImpl.class),
2159                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2160                }
2161            )
2162        );
2163    }
2164
2165    private static final void initializePhoto67()
2166    {
2167        embeddedValueNamesByType.put(
2168            PhotoImpl.class,
2169            null);
2170        embeddedValuesByType.put(
2171            PhotoImpl.class,
2172            null);
2173        navigableAssociationEndsByType.put(
2174            PhotoImpl.class,
2175            Arrays.asList(
2176                new PropertyType[]
2177                {
2178                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2179                    new PropertyType("photoType", PhotoTypeImpl.class),
2180                    new PropertyType("objectType", ObjectTypeImpl.class),
2181                    new PropertyType("department", DepartmentImpl.class)
2182                }
2183            )
2184        );
2185    }
2186
2187    private static final void initializeSurveyMeasurement68()
2188    {
2189        embeddedValueNamesByType.put(
2190            SurveyMeasurementImpl.class,
2191            null);
2192        embeddedValuesByType.put(
2193            SurveyMeasurementImpl.class,
2194            null);
2195        navigableAssociationEndsByType.put(
2196            SurveyMeasurementImpl.class,
2197            Arrays.asList(
2198                new PropertyType[]
2199                {
2200                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2201                    new PropertyType("fishingTrip", FishingTripImpl.class),
2202                    new PropertyType("physicalGearSurvey", PhysicalGearSurveyImpl.class),
2203                    new PropertyType("sale", SaleImpl.class),
2204                    new PropertyType("dailyActivityCalendar", DailyActivityCalendarImpl.class),
2205                    new PropertyType("activityCalendar", ActivityCalendarImpl.class),
2206                    new PropertyType("economicalSurvey", EconomicalSurveyImpl.class),
2207                    new PropertyType("declaredDocumentReference", DeclaredDocumentReferenceImpl.class),
2208                    new PropertyType("fishingEffortCalendar", FishingEffortCalendarImpl.class),
2209                    new PropertyType("landing", LandingImpl.class),
2210                    new PropertyType("transshipment", TransshipmentImpl.class),
2211                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2212                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2213                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2214                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2215                    new PropertyType("department", DepartmentImpl.class),
2216                    new PropertyType("pmfm", PmfmImpl.class),
2217                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2218                }
2219            )
2220        );
2221    }
2222
2223    private static final void initializeTakeOverMeasurement69()
2224    {
2225        embeddedValueNamesByType.put(
2226            TakeOverMeasurementImpl.class,
2227            null);
2228        embeddedValuesByType.put(
2229            TakeOverMeasurementImpl.class,
2230            null);
2231        navigableAssociationEndsByType.put(
2232            TakeOverMeasurementImpl.class,
2233            Arrays.asList(
2234                new PropertyType[]
2235                {
2236                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2237                    new PropertyType("takeOver", TakeOverImpl.class),
2238                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2239                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2240                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2241                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2242                    new PropertyType("department", DepartmentImpl.class),
2243                    new PropertyType("pmfm", PmfmImpl.class),
2244                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2245                }
2246            )
2247        );
2248    }
2249
2250    private static final void initializeQuantificationMeasurement70()
2251    {
2252        embeddedValueNamesByType.put(
2253            QuantificationMeasurementImpl.class,
2254            null);
2255        embeddedValuesByType.put(
2256            QuantificationMeasurementImpl.class,
2257            null);
2258        navigableAssociationEndsByType.put(
2259            QuantificationMeasurementImpl.class,
2260            Arrays.asList(
2261                new PropertyType[]
2262                {
2263                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2264                    new PropertyType("batch", BatchImpl.class),
2265                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2266                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2267                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2268                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2269                    new PropertyType("department", DepartmentImpl.class),
2270                    new PropertyType("pmfm", PmfmImpl.class),
2271                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2272                }
2273            )
2274        );
2275    }
2276
2277    private static final void initializeVesselPersonMeasurement71()
2278    {
2279        embeddedValueNamesByType.put(
2280            VesselPersonMeasurementImpl.class,
2281            null);
2282        embeddedValuesByType.put(
2283            VesselPersonMeasurementImpl.class,
2284            null);
2285        navigableAssociationEndsByType.put(
2286            VesselPersonMeasurementImpl.class,
2287            Arrays.asList(
2288                new PropertyType[]
2289                {
2290                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2291                    new PropertyType("vesselPersonFeatures", VesselPersonFeaturesImpl.class),
2292                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2293                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2294                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2295                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2296                    new PropertyType("department", DepartmentImpl.class),
2297                    new PropertyType("pmfm", PmfmImpl.class),
2298                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2299                }
2300            )
2301        );
2302    }
2303
2304    private static final void initializeGearUseMeasurement72()
2305    {
2306        embeddedValueNamesByType.put(
2307            GearUseMeasurementImpl.class,
2308            null);
2309        embeddedValuesByType.put(
2310            GearUseMeasurementImpl.class,
2311            null);
2312        navigableAssociationEndsByType.put(
2313            GearUseMeasurementImpl.class,
2314            Arrays.asList(
2315                new PropertyType[]
2316                {
2317                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2318                    new PropertyType("gearUseFeatures", GearUseFeaturesImpl.class),
2319                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2320                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2321                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2322                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2323                    new PropertyType("department", DepartmentImpl.class),
2324                    new PropertyType("pmfm", PmfmImpl.class),
2325                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2326                }
2327            )
2328        );
2329    }
2330
2331    private static final void initializeSampleMeasurement73()
2332    {
2333        embeddedValueNamesByType.put(
2334            SampleMeasurementImpl.class,
2335            null);
2336        embeddedValuesByType.put(
2337            SampleMeasurementImpl.class,
2338            null);
2339        navigableAssociationEndsByType.put(
2340            SampleMeasurementImpl.class,
2341            Arrays.asList(
2342                new PropertyType[]
2343                {
2344                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2345                    new PropertyType("sample", SampleImpl.class),
2346                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2347                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2348                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2349                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2350                    new PropertyType("department", DepartmentImpl.class),
2351                    new PropertyType("pmfm", PmfmImpl.class),
2352                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2353                }
2354            )
2355        );
2356    }
2357
2358    private static final void initializeGearPhysicalMeasurement74()
2359    {
2360        embeddedValueNamesByType.put(
2361            GearPhysicalMeasurementImpl.class,
2362            null);
2363        embeddedValuesByType.put(
2364            GearPhysicalMeasurementImpl.class,
2365            null);
2366        navigableAssociationEndsByType.put(
2367            GearPhysicalMeasurementImpl.class,
2368            Arrays.asList(
2369                new PropertyType[]
2370                {
2371                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2372                    new PropertyType("gearPhysicalFeatures", GearPhysicalFeaturesImpl.class),
2373                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2374                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2375                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2376                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2377                    new PropertyType("department", DepartmentImpl.class),
2378                    new PropertyType("pmfm", PmfmImpl.class),
2379                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2380                }
2381            )
2382        );
2383    }
2384
2385    private static final void initializeMeasurementFile75()
2386    {
2387        embeddedValueNamesByType.put(
2388            MeasurementFileImpl.class,
2389            null);
2390        embeddedValuesByType.put(
2391            MeasurementFileImpl.class,
2392            null);
2393        navigableAssociationEndsByType.put(
2394            MeasurementFileImpl.class,
2395            Arrays.asList(
2396                new PropertyType[]
2397                {
2398                    new PropertyType("pmfm", PmfmImpl.class),
2399                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2400                    new PropertyType("department", DepartmentImpl.class),
2401                    new PropertyType("objectType", ObjectTypeImpl.class),
2402                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class)
2403                }
2404            )
2405        );
2406    }
2407
2408    private static final void initializeSortingMeasurement76()
2409    {
2410        embeddedValueNamesByType.put(
2411            SortingMeasurementImpl.class,
2412            null);
2413        embeddedValuesByType.put(
2414            SortingMeasurementImpl.class,
2415            null);
2416        navigableAssociationEndsByType.put(
2417            SortingMeasurementImpl.class,
2418            Arrays.asList(
2419                new PropertyType[]
2420                {
2421                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2422                    new PropertyType("sortingBatch", SortingBatchImpl.class),
2423                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2424                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2425                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2426                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2427                    new PropertyType("department", DepartmentImpl.class),
2428                    new PropertyType("pmfm", PmfmImpl.class),
2429                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2430                }
2431            )
2432        );
2433    }
2434
2435    private static final void initializeVesselPositionMeasurement77()
2436    {
2437        embeddedValueNamesByType.put(
2438            VesselPositionMeasurementImpl.class,
2439            null);
2440        embeddedValuesByType.put(
2441            VesselPositionMeasurementImpl.class,
2442            null);
2443        navigableAssociationEndsByType.put(
2444            VesselPositionMeasurementImpl.class,
2445            Arrays.asList(
2446                new PropertyType[]
2447                {
2448                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2449                    new PropertyType("vesselPosition", VesselPositionImpl.class),
2450                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2451                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2452                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2453                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2454                    new PropertyType("department", DepartmentImpl.class),
2455                    new PropertyType("pmfm", PmfmImpl.class),
2456                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2457                }
2458            )
2459        );
2460    }
2461
2462    private static final void initializeMeasurement78()
2463    {
2464        embeddedValueNamesByType.put(
2465            MeasurementImpl.class,
2466            null);
2467        embeddedValuesByType.put(
2468            MeasurementImpl.class,
2469            null);
2470        navigableAssociationEndsByType.put(
2471            MeasurementImpl.class,
2472            Arrays.asList(
2473                new PropertyType[]
2474                {
2475                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2476                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2477                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2478                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2479                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2480                    new PropertyType("department", DepartmentImpl.class),
2481                    new PropertyType("pmfm", PmfmImpl.class),
2482                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2483                }
2484            )
2485        );
2486    }
2487
2488    private static final void initializeSaleMeasurement79()
2489    {
2490        embeddedValueNamesByType.put(
2491            SaleMeasurementImpl.class,
2492            null);
2493        embeddedValuesByType.put(
2494            SaleMeasurementImpl.class,
2495            null);
2496        navigableAssociationEndsByType.put(
2497            SaleMeasurementImpl.class,
2498            Arrays.asList(
2499                new PropertyType[]
2500                {
2501                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2502                    new PropertyType("expectedSale", ExpectedSaleImpl.class),
2503                    new PropertyType("sale", SaleImpl.class),
2504                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2505                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2506                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2507                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2508                    new PropertyType("department", DepartmentImpl.class),
2509                    new PropertyType("pmfm", PmfmImpl.class),
2510                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2511                }
2512            )
2513        );
2514    }
2515
2516    private static final void initializeLandingMeasurement80()
2517    {
2518        embeddedValueNamesByType.put(
2519            LandingMeasurementImpl.class,
2520            null);
2521        embeddedValuesByType.put(
2522            LandingMeasurementImpl.class,
2523            null);
2524        navigableAssociationEndsByType.put(
2525            LandingMeasurementImpl.class,
2526            Arrays.asList(
2527                new PropertyType[]
2528                {
2529                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2530                    new PropertyType("landing", LandingImpl.class),
2531                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2532                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2533                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2534                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2535                    new PropertyType("department", DepartmentImpl.class),
2536                    new PropertyType("pmfm", PmfmImpl.class),
2537                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2538                }
2539            )
2540        );
2541    }
2542
2543    private static final void initializeObservedLocationMeasurement81()
2544    {
2545        embeddedValueNamesByType.put(
2546            ObservedLocationMeasurementImpl.class,
2547            null);
2548        embeddedValuesByType.put(
2549            ObservedLocationMeasurementImpl.class,
2550            null);
2551        navigableAssociationEndsByType.put(
2552            ObservedLocationMeasurementImpl.class,
2553            Arrays.asList(
2554                new PropertyType[]
2555                {
2556                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
2557                    new PropertyType("observedLocationFeatures", ObservedLocationFeaturesImpl.class),
2558                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2559                    new PropertyType("precisionType", PrecisionTypeImpl.class),
2560                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
2561                    new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
2562                    new PropertyType("department", DepartmentImpl.class),
2563                    new PropertyType("pmfm", PmfmImpl.class),
2564                    new PropertyType("qualitativeValue", QualitativeValueImpl.class)
2565                }
2566            )
2567        );
2568    }
2569
2570    private static final void initializeLinkedItem82()
2571    {
2572        embeddedValueNamesByType.put(
2573            LinkedItemImpl.class,
2574            null);
2575        embeddedValuesByType.put(
2576            LinkedItemImpl.class,
2577            null);
2578        navigableAssociationEndsByType.put(
2579            LinkedItemImpl.class,
2580            Arrays.asList(
2581                new PropertyType[]
2582                {
2583                    new PropertyType("qualityFlag", QualityFlagImpl.class),
2584                    new PropertyType("linkedItemType", LinkedItemTypeImpl.class)
2585                }
2586            )
2587        );
2588    }
2589
2590    private static final void initializeAnalysisInstrument83()
2591    {
2592        embeddedValueNamesByType.put(
2593            AnalysisInstrumentImpl.class,
2594            null);
2595        embeddedValuesByType.put(
2596            AnalysisInstrumentImpl.class,
2597            null);
2598        navigableAssociationEndsByType.put(
2599            AnalysisInstrumentImpl.class,
2600            Arrays.asList(
2601                new PropertyType[]
2602                {
2603                    new PropertyType("status", StatusImpl.class)
2604                }
2605            )
2606        );
2607    }
2608
2609    private static final void initializeNearbySpecificArea84()
2610    {
2611        embeddedValueNamesByType.put(
2612            NearbySpecificAreaImpl.class,
2613            null);
2614        embeddedValuesByType.put(
2615            NearbySpecificAreaImpl.class,
2616            null);
2617        navigableAssociationEndsByType.put(
2618            NearbySpecificAreaImpl.class,
2619            Arrays.asList(
2620                new PropertyType[]
2621                {
2622                    new PropertyType("status", StatusImpl.class)
2623                }
2624            )
2625        );
2626    }
2627
2628    private static final void initializeOrderType85()
2629    {
2630        embeddedValueNamesByType.put(
2631            OrderTypeImpl.class,
2632            null);
2633        embeddedValuesByType.put(
2634            OrderTypeImpl.class,
2635            null);
2636        navigableAssociationEndsByType.put(
2637            OrderTypeImpl.class,
2638            Arrays.asList(
2639                new PropertyType[]
2640                {
2641                    new PropertyType("orderItems", OrderItemImpl.class),
2642                    new PropertyType("status", StatusImpl.class),
2643                    new PropertyType("objectType", ObjectTypeImpl.class)
2644                }
2645            )
2646        );
2647    }
2648
2649    private static final void initializeOrderItem86()
2650    {
2651        embeddedValueNamesByType.put(
2652            OrderItemImpl.class,
2653            null);
2654        embeddedValuesByType.put(
2655            OrderItemImpl.class,
2656            null);
2657        navigableAssociationEndsByType.put(
2658            OrderItemImpl.class,
2659            Arrays.asList(
2660                new PropertyType[]
2661                {
2662                    new PropertyType("orderType", OrderTypeImpl.class)
2663                }
2664            )
2665        );
2666    }
2667
2668    private static final void initializeTaxonGroupType87()
2669    {
2670        embeddedValueNamesByType.put(
2671            TaxonGroupTypeImpl.class,
2672            null);
2673        embeddedValuesByType.put(
2674            TaxonGroupTypeImpl.class,
2675            null);
2676        navigableAssociationEndsByType.put(
2677            TaxonGroupTypeImpl.class,
2678            Arrays.asList(
2679                new PropertyType[]
2680                {
2681                    new PropertyType("taxonGroups", TaxonGroupImpl.class)
2682                }
2683            )
2684        );
2685    }
2686
2687    private static final void initializeTaxonGroupHistoricalRecord88()
2688    {
2689        embeddedValueNamesByType.put(
2690            TaxonGroupHistoricalRecordImpl.class,
2691            null);
2692        embeddedValuesByType.put(
2693            TaxonGroupHistoricalRecordImpl.class,
2694            null);
2695        navigableAssociationEndsByType.put(
2696            TaxonGroupHistoricalRecordImpl.class,
2697            Arrays.asList(
2698                new PropertyType[]
2699                {
2700                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
2701                    new PropertyType("taxonGroup", TaxonGroupImpl.class)
2702                }
2703            )
2704        );
2705    }
2706
2707    private static final void initializeTaxonName89()
2708    {
2709        embeddedValueNamesByType.put(
2710            TaxonNameImpl.class,
2711            null);
2712        embeddedValuesByType.put(
2713            TaxonNameImpl.class,
2714            null);
2715        navigableAssociationEndsByType.put(
2716            TaxonNameImpl.class,
2717            Arrays.asList(
2718                new PropertyType[]
2719                {
2720                    new PropertyType("citation", CitationImpl.class),
2721                    new PropertyType("parentTaxonName", TaxonNameImpl.class),
2722                    new PropertyType("childTaxonNames", TaxonNameImpl.class),
2723                    new PropertyType("parentTaxonNameHistories", TaxonNameHistoryImpl.class),
2724                    new PropertyType("taxonNamehistories", TaxonNameHistoryImpl.class),
2725                    new PropertyType("taxonomicLevel", TaxonomicLevelImpl.class),
2726                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class)
2727                }
2728            )
2729        );
2730    }
2731
2732    private static final void initializeAuthor90()
2733    {
2734        embeddedValueNamesByType.put(
2735            AuthorImpl.class,
2736            null);
2737        embeddedValuesByType.put(
2738            AuthorImpl.class,
2739            null);
2740        navigableAssociationEndsByType.put(
2741            AuthorImpl.class,
2742            Arrays.asList(
2743                new PropertyType[]
2744                {
2745                    new PropertyType("referenceDocuments", ReferenceDocumentImpl.class),
2746                    new PropertyType("status", StatusImpl.class)
2747                }
2748            )
2749        );
2750    }
2751
2752    private static final void initializeReferenceTaxon91()
2753    {
2754        embeddedValueNamesByType.put(
2755            ReferenceTaxonImpl.class,
2756            null);
2757        embeddedValuesByType.put(
2758            ReferenceTaxonImpl.class,
2759            null);
2760        navigableAssociationEndsByType.put(
2761            ReferenceTaxonImpl.class,
2762            null);
2763    }
2764
2765    private static final void initializeVirtualComponent92()
2766    {
2767        embeddedValueNamesByType.put(
2768            VirtualComponentImpl.class,
2769            null);
2770        embeddedValuesByType.put(
2771            VirtualComponentImpl.class,
2772            null);
2773        navigableAssociationEndsByType.put(
2774            VirtualComponentImpl.class,
2775            Arrays.asList(
2776                new PropertyType[]
2777                {
2778                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
2779                    new PropertyType("taxonName", TaxonNameImpl.class)
2780                }
2781            )
2782        );
2783    }
2784
2785    private static final void initializeTaxonInformation93()
2786    {
2787        embeddedValueNamesByType.put(
2788            TaxonInformationImpl.class,
2789            null);
2790        embeddedValuesByType.put(
2791            TaxonInformationImpl.class,
2792            null);
2793        navigableAssociationEndsByType.put(
2794            TaxonInformationImpl.class,
2795            Arrays.asList(
2796                new PropertyType[]
2797                {
2798                    new PropertyType("referenceDocument", ReferenceDocumentImpl.class),
2799                    new PropertyType("taxonName", TaxonNameImpl.class)
2800                }
2801            )
2802        );
2803    }
2804
2805    private static final void initializeReferenceDocument94()
2806    {
2807        embeddedValueNamesByType.put(
2808            ReferenceDocumentImpl.class,
2809            null);
2810        embeddedValuesByType.put(
2811            ReferenceDocumentImpl.class,
2812            null);
2813        navigableAssociationEndsByType.put(
2814            ReferenceDocumentImpl.class,
2815            Arrays.asList(
2816                new PropertyType[]
2817                {
2818                    new PropertyType("authors", AuthorImpl.class),
2819                    new PropertyType("status", StatusImpl.class),
2820                    new PropertyType("taxonInformationHistories", TaxonInformationHistoryImpl.class)
2821                }
2822            )
2823        );
2824    }
2825
2826    private static final void initializeTaxonomicLevel95()
2827    {
2828        embeddedValueNamesByType.put(
2829            TaxonomicLevelImpl.class,
2830            null);
2831        embeddedValuesByType.put(
2832            TaxonomicLevelImpl.class,
2833            null);
2834        navigableAssociationEndsByType.put(
2835            TaxonomicLevelImpl.class,
2836            Arrays.asList(
2837                new PropertyType[]
2838                {
2839                    new PropertyType("taxonNames", TaxonNameImpl.class),
2840                    new PropertyType("status", StatusImpl.class)
2841                }
2842            )
2843        );
2844    }
2845
2846    private static final void initializeTaxonGroupInformation96()
2847    {
2848        embeddedValueNamesByType.put(
2849            TaxonGroupInformationImpl.class,
2850            null);
2851        embeddedValuesByType.put(
2852            TaxonGroupInformationImpl.class,
2853            null);
2854        navigableAssociationEndsByType.put(
2855            TaxonGroupInformationImpl.class,
2856            Arrays.asList(
2857                new PropertyType[]
2858                {
2859                    new PropertyType("taxonGroup", TaxonGroupImpl.class),
2860                    new PropertyType("referenceDocument", ReferenceDocumentImpl.class)
2861                }
2862            )
2863        );
2864    }
2865
2866    private static final void initializeTaxonInformationHistory97()
2867    {
2868        embeddedValueNamesByType.put(
2869            TaxonInformationHistoryImpl.class,
2870            null);
2871        embeddedValuesByType.put(
2872            TaxonInformationHistoryImpl.class,
2873            null);
2874        navigableAssociationEndsByType.put(
2875            TaxonInformationHistoryImpl.class,
2876            Arrays.asList(
2877                new PropertyType[]
2878                {
2879                    new PropertyType("taxonNameHistory", TaxonNameHistoryImpl.class),
2880                    new PropertyType("referenceDocument", ReferenceDocumentImpl.class)
2881                }
2882            )
2883        );
2884    }
2885
2886    private static final void initializeCitation98()
2887    {
2888        embeddedValueNamesByType.put(
2889            CitationImpl.class,
2890            null);
2891        embeddedValuesByType.put(
2892            CitationImpl.class,
2893            null);
2894        navigableAssociationEndsByType.put(
2895            CitationImpl.class,
2896            Arrays.asList(
2897                new PropertyType[]
2898                {
2899                    new PropertyType("status", StatusImpl.class)
2900                }
2901            )
2902        );
2903    }
2904
2905    private static final void initializeTaxonNameHistory99()
2906    {
2907        embeddedValueNamesByType.put(
2908            TaxonNameHistoryImpl.class,
2909            null);
2910        embeddedValuesByType.put(
2911            TaxonNameHistoryImpl.class,
2912            null);
2913        navigableAssociationEndsByType.put(
2914            TaxonNameHistoryImpl.class,
2915            Arrays.asList(
2916                new PropertyType[]
2917                {
2918                    new PropertyType("citation", CitationImpl.class),
2919                    new PropertyType("taxonName", TaxonNameImpl.class),
2920                    new PropertyType("parentTaxonName", TaxonNameImpl.class)
2921                }
2922            )
2923        );
2924    }
2925
2926    private static final void initializeTaxonGroup100()
2927    {
2928        embeddedValueNamesByType.put(
2929            TaxonGroupImpl.class,
2930            null);
2931        embeddedValuesByType.put(
2932            TaxonGroupImpl.class,
2933            null);
2934        navigableAssociationEndsByType.put(
2935            TaxonGroupImpl.class,
2936            Arrays.asList(
2937                new PropertyType[]
2938                {
2939                    new PropertyType("taxonGroupInformations", TaxonGroupInformationImpl.class),
2940                    new PropertyType("parentTaxonGroup", TaxonGroupImpl.class),
2941                    new PropertyType("childTaxonGroups", TaxonGroupImpl.class),
2942                    new PropertyType("taxonGroupType", TaxonGroupTypeImpl.class),
2943                    new PropertyType("taxonGroupHistoricalRecords", TaxonGroupHistoricalRecordImpl.class),
2944                    new PropertyType("status", StatusImpl.class)
2945                }
2946            )
2947        );
2948    }
2949
2950    private static final void initializePrecisionType101()
2951    {
2952        embeddedValueNamesByType.put(
2953            PrecisionTypeImpl.class,
2954            null);
2955        embeddedValuesByType.put(
2956            PrecisionTypeImpl.class,
2957            null);
2958        navigableAssociationEndsByType.put(
2959            PrecisionTypeImpl.class,
2960            Arrays.asList(
2961                new PropertyType[]
2962                {
2963                    new PropertyType("status", StatusImpl.class)
2964                }
2965            )
2966        );
2967    }
2968
2969    private static final void initializeLocation102()
2970    {
2971        embeddedValueNamesByType.put(
2972            LocationImpl.class,
2973            null);
2974        embeddedValuesByType.put(
2975            LocationImpl.class,
2976            null);
2977        navigableAssociationEndsByType.put(
2978            LocationImpl.class,
2979            Arrays.asList(
2980                new PropertyType[]
2981                {
2982                    new PropertyType("locationLevel", LocationLevelImpl.class),
2983                    new PropertyType("locationClassification", LocationClassificationImpl.class),
2984                    new PropertyType("status", StatusImpl.class)
2985                }
2986            )
2987        );
2988    }
2989
2990    private static final void initializeLocationLevel103()
2991    {
2992        embeddedValueNamesByType.put(
2993            LocationLevelImpl.class,
2994            null);
2995        embeddedValuesByType.put(
2996            LocationLevelImpl.class,
2997            null);
2998        navigableAssociationEndsByType.put(
2999            LocationLevelImpl.class,
3000            Arrays.asList(
3001                new PropertyType[]
3002                {
3003                    new PropertyType("parentLocationLevel", LocationLevelImpl.class),
3004                    new PropertyType("locationLevels", LocationLevelImpl.class),
3005                    new PropertyType("locationClassification", LocationClassificationImpl.class)
3006                }
3007            )
3008        );
3009    }
3010
3011    private static final void initializeLocationPoint104()
3012    {
3013        embeddedValueNamesByType.put(
3014            LocationPointImpl.class,
3015            null);
3016        embeddedValuesByType.put(
3017            LocationPointImpl.class,
3018            null);
3019        navigableAssociationEndsByType.put(
3020            LocationPointImpl.class,
3021            Arrays.asList(
3022                new PropertyType[]
3023                {
3024                    new PropertyType("locationLevel", LocationLevelImpl.class),
3025                    new PropertyType("locationClassification", LocationClassificationImpl.class),
3026                    new PropertyType("status", StatusImpl.class)
3027                }
3028            )
3029        );
3030    }
3031
3032    private static final void initializeLocationAssociation105()
3033    {
3034        embeddedValueNamesByType.put(
3035            LocationAssociationImpl.class,
3036            null);
3037        embeddedValuesByType.put(
3038            LocationAssociationImpl.class,
3039            null);
3040        navigableAssociationEndsByType.put(
3041            LocationAssociationImpl.class,
3042            Arrays.asList(
3043                new PropertyType[]
3044                {
3045                    new PropertyType("parentLocation", LocationImpl.class),
3046                    new PropertyType("childLocation", LocationImpl.class)
3047                }
3048            )
3049        );
3050    }
3051
3052    private static final void initializeLocationArea106()
3053    {
3054        embeddedValueNamesByType.put(
3055            LocationAreaImpl.class,
3056            null);
3057        embeddedValuesByType.put(
3058            LocationAreaImpl.class,
3059            null);
3060        navigableAssociationEndsByType.put(
3061            LocationAreaImpl.class,
3062            Arrays.asList(
3063                new PropertyType[]
3064                {
3065                    new PropertyType("locationLevel", LocationLevelImpl.class),
3066                    new PropertyType("locationClassification", LocationClassificationImpl.class),
3067                    new PropertyType("status", StatusImpl.class)
3068                }
3069            )
3070        );
3071    }
3072
3073    private static final void initializeLocationLine107()
3074    {
3075        embeddedValueNamesByType.put(
3076            LocationLineImpl.class,
3077            null);
3078        embeddedValuesByType.put(
3079            LocationLineImpl.class,
3080            null);
3081        navigableAssociationEndsByType.put(
3082            LocationLineImpl.class,
3083            Arrays.asList(
3084                new PropertyType[]
3085                {
3086                    new PropertyType("locationLevel", LocationLevelImpl.class),
3087                    new PropertyType("locationClassification", LocationClassificationImpl.class),
3088                    new PropertyType("status", StatusImpl.class)
3089                }
3090            )
3091        );
3092    }
3093
3094    private static final void initializeLocationClassification108()
3095    {
3096        embeddedValueNamesByType.put(
3097            LocationClassificationImpl.class,
3098            null);
3099        embeddedValuesByType.put(
3100            LocationClassificationImpl.class,
3101            null);
3102        navigableAssociationEndsByType.put(
3103            LocationClassificationImpl.class,
3104            null);
3105    }
3106
3107    private static final void initializeObjectType109()
3108    {
3109        embeddedValueNamesByType.put(
3110            ObjectTypeImpl.class,
3111            null);
3112        embeddedValuesByType.put(
3113            ObjectTypeImpl.class,
3114            null);
3115        navigableAssociationEndsByType.put(
3116            ObjectTypeImpl.class,
3117            null);
3118    }
3119
3120    private static final void initializeProcessingType110()
3121    {
3122        embeddedValueNamesByType.put(
3123            ProcessingTypeImpl.class,
3124            null);
3125        embeddedValuesByType.put(
3126            ProcessingTypeImpl.class,
3127            null);
3128        navigableAssociationEndsByType.put(
3129            ProcessingTypeImpl.class,
3130            Arrays.asList(
3131                new PropertyType[]
3132                {
3133                    new PropertyType("status", StatusImpl.class),
3134                    new PropertyType("processingHistories", ProcessingHistoryImpl.class)
3135                }
3136            )
3137        );
3138    }
3139
3140    private static final void initializeBuyerType111()
3141    {
3142        embeddedValueNamesByType.put(
3143            BuyerTypeImpl.class,
3144            null);
3145        embeddedValuesByType.put(
3146            BuyerTypeImpl.class,
3147            null);
3148        navigableAssociationEndsByType.put(
3149            BuyerTypeImpl.class,
3150            Arrays.asList(
3151                new PropertyType[]
3152                {
3153                    new PropertyType("buyers", BuyerImpl.class)
3154                }
3155            )
3156        );
3157    }
3158
3159    private static final void initializeBuyer112()
3160    {
3161        embeddedValueNamesByType.put(
3162            BuyerImpl.class,
3163            null);
3164        embeddedValuesByType.put(
3165            BuyerImpl.class,
3166            null);
3167        navigableAssociationEndsByType.put(
3168            BuyerImpl.class,
3169            Arrays.asList(
3170                new PropertyType[]
3171                {
3172                    new PropertyType("buyerType", BuyerTypeImpl.class),
3173                    new PropertyType("status", StatusImpl.class)
3174                }
3175            )
3176        );
3177    }
3178
3179    private static final void initializeLinkedItemType113()
3180    {
3181        embeddedValueNamesByType.put(
3182            LinkedItemTypeImpl.class,
3183            null);
3184        embeddedValuesByType.put(
3185            LinkedItemTypeImpl.class,
3186            null);
3187        navigableAssociationEndsByType.put(
3188            LinkedItemTypeImpl.class,
3189            Arrays.asList(
3190                new PropertyType[]
3191                {
3192                    new PropertyType("fromObjectType", ObjectTypeImpl.class),
3193                    new PropertyType("toObjectType", ObjectTypeImpl.class),
3194                    new PropertyType("status", StatusImpl.class),
3195                    new PropertyType("fromProgram", ProgramImpl.class),
3196                    new PropertyType("toProgram", ProgramImpl.class)
3197                }
3198            )
3199        );
3200    }
3201
3202    private static final void initializeDistanceToCoastGradient114()
3203    {
3204        embeddedValueNamesByType.put(
3205            DistanceToCoastGradientImpl.class,
3206            null);
3207        embeddedValuesByType.put(
3208            DistanceToCoastGradientImpl.class,
3209            null);
3210        navigableAssociationEndsByType.put(
3211            DistanceToCoastGradientImpl.class,
3212            Arrays.asList(
3213                new PropertyType[]
3214                {
3215                    new PropertyType("status", StatusImpl.class)
3216                }
3217            )
3218        );
3219    }
3220
3221    private static final void initializeSpatialItem115()
3222    {
3223        embeddedValueNamesByType.put(
3224            SpatialItemImpl.class,
3225            null);
3226        embeddedValuesByType.put(
3227            SpatialItemImpl.class,
3228            null);
3229        navigableAssociationEndsByType.put(
3230            SpatialItemImpl.class,
3231            Arrays.asList(
3232                new PropertyType[]
3233                {
3234                    new PropertyType("spatialItem2Locations", SpatialItem2LocationImpl.class),
3235                    new PropertyType("spatialItemType", SpatialItemTypeImpl.class),
3236                    new PropertyType("spatialItemLines", SpatialItemLineImpl.class),
3237                    new PropertyType("spatialItemPoints", SpatialItemPointImpl.class),
3238                    new PropertyType("spatialItemAreas", SpatialItemAreaImpl.class)
3239                }
3240            )
3241        );
3242    }
3243
3244    private static final void initializeSpatialItemType116()
3245    {
3246        embeddedValueNamesByType.put(
3247            SpatialItemTypeImpl.class,
3248            null);
3249        embeddedValuesByType.put(
3250            SpatialItemTypeImpl.class,
3251            null);
3252        navigableAssociationEndsByType.put(
3253            SpatialItemTypeImpl.class,
3254            Arrays.asList(
3255                new PropertyType[]
3256                {
3257                    new PropertyType("status", StatusImpl.class),
3258                    new PropertyType("spatialItems", SpatialItemImpl.class),
3259                    new PropertyType("objectType", ObjectTypeImpl.class)
3260                }
3261            )
3262        );
3263    }
3264
3265    private static final void initializeSpatialItemLine117()
3266    {
3267        embeddedValueNamesByType.put(
3268            SpatialItemLineImpl.class,
3269            null);
3270        embeddedValuesByType.put(
3271            SpatialItemLineImpl.class,
3272            null);
3273        navigableAssociationEndsByType.put(
3274            SpatialItemLineImpl.class,
3275            Arrays.asList(
3276                new PropertyType[]
3277                {
3278                    new PropertyType("spatialItem", SpatialItemImpl.class)
3279                }
3280            )
3281        );
3282    }
3283
3284    private static final void initializeSpatialItemPoint118()
3285    {
3286        embeddedValueNamesByType.put(
3287            SpatialItemPointImpl.class,
3288            null);
3289        embeddedValuesByType.put(
3290            SpatialItemPointImpl.class,
3291            null);
3292        navigableAssociationEndsByType.put(
3293            SpatialItemPointImpl.class,
3294            Arrays.asList(
3295                new PropertyType[]
3296                {
3297                    new PropertyType("spatialItem", SpatialItemImpl.class)
3298                }
3299            )
3300        );
3301    }
3302
3303    private static final void initializeSpatialItem2Location119()
3304    {
3305        embeddedValueNamesByType.put(
3306            SpatialItem2LocationImpl.class,
3307            null);
3308        embeddedValuesByType.put(
3309            SpatialItem2LocationImpl.class,
3310            null);
3311        navigableAssociationEndsByType.put(
3312            SpatialItem2LocationImpl.class,
3313            Arrays.asList(
3314                new PropertyType[]
3315                {
3316                    new PropertyType("location", LocationImpl.class),
3317                    new PropertyType("spatialItem", SpatialItemImpl.class)
3318                }
3319            )
3320        );
3321    }
3322
3323    private static final void initializeSpatialItemArea120()
3324    {
3325        embeddedValueNamesByType.put(
3326            SpatialItemAreaImpl.class,
3327            null);
3328        embeddedValuesByType.put(
3329            SpatialItemAreaImpl.class,
3330            null);
3331        navigableAssociationEndsByType.put(
3332            SpatialItemAreaImpl.class,
3333            Arrays.asList(
3334                new PropertyType[]
3335                {
3336                    new PropertyType("spatialItem", SpatialItemImpl.class)
3337                }
3338            )
3339        );
3340    }
3341
3342    private static final void initializeEducationGrade121()
3343    {
3344        embeddedValueNamesByType.put(
3345            EducationGradeImpl.class,
3346            null);
3347        embeddedValuesByType.put(
3348            EducationGradeImpl.class,
3349            null);
3350        navigableAssociationEndsByType.put(
3351            EducationGradeImpl.class,
3352            null);
3353    }
3354
3355    private static final void initializeDenormalizedSamplingStrata122()
3356    {
3357        embeddedValueNamesByType.put(
3358            DenormalizedSamplingStrataImpl.class,
3359            null);
3360        embeddedValuesByType.put(
3361            DenormalizedSamplingStrataImpl.class,
3362            null);
3363        navigableAssociationEndsByType.put(
3364            DenormalizedSamplingStrataImpl.class,
3365            Arrays.asList(
3366                new PropertyType[]
3367                {
3368                    new PropertyType("person", PersonImpl.class),
3369                    new PropertyType("observationLocation", LocationImpl.class),
3370                    new PropertyType("program", ProgramImpl.class),
3371                    new PropertyType("department", DepartmentImpl.class)
3372                }
3373            )
3374        );
3375    }
3376
3377    private static final void initializeTranscribingItemType123()
3378    {
3379        embeddedValueNamesByType.put(
3380            TranscribingItemTypeImpl.class,
3381            null);
3382        embeddedValuesByType.put(
3383            TranscribingItemTypeImpl.class,
3384            null);
3385        navigableAssociationEndsByType.put(
3386            TranscribingItemTypeImpl.class,
3387            Arrays.asList(
3388                new PropertyType[]
3389                {
3390                    new PropertyType("status", StatusImpl.class),
3391                    new PropertyType("objectType", ObjectTypeImpl.class),
3392                    new PropertyType("transcribingSide", TranscribingSideImpl.class),
3393                    new PropertyType("transcribingSystem", TranscribingSystemImpl.class)
3394                }
3395            )
3396        );
3397    }
3398
3399    private static final void initializeTranscribingSide124()
3400    {
3401        embeddedValueNamesByType.put(
3402            TranscribingSideImpl.class,
3403            null);
3404        embeddedValuesByType.put(
3405            TranscribingSideImpl.class,
3406            null);
3407        navigableAssociationEndsByType.put(
3408            TranscribingSideImpl.class,
3409            null);
3410    }
3411
3412    private static final void initializeTranscribingSystem125()
3413    {
3414        embeddedValueNamesByType.put(
3415            TranscribingSystemImpl.class,
3416            null);
3417        embeddedValuesByType.put(
3418            TranscribingSystemImpl.class,
3419            null);
3420        navigableAssociationEndsByType.put(
3421            TranscribingSystemImpl.class,
3422            Arrays.asList(
3423                new PropertyType[]
3424                {
3425                    new PropertyType("status", StatusImpl.class)
3426                }
3427            )
3428        );
3429    }
3430
3431    private static final void initializeTranscribingItem126()
3432    {
3433        embeddedValueNamesByType.put(
3434            TranscribingItemImpl.class,
3435            null);
3436        embeddedValuesByType.put(
3437            TranscribingItemImpl.class,
3438            null);
3439        navigableAssociationEndsByType.put(
3440            TranscribingItemImpl.class,
3441            Arrays.asList(
3442                new PropertyType[]
3443                {
3444                    new PropertyType("transcribingItemType", TranscribingItemTypeImpl.class)
3445                }
3446            )
3447        );
3448    }
3449
3450    private static final void initializeVesselPersonRole127()
3451    {
3452        embeddedValueNamesByType.put(
3453            VesselPersonRoleImpl.class,
3454            null);
3455        embeddedValuesByType.put(
3456            VesselPersonRoleImpl.class,
3457            null);
3458        navigableAssociationEndsByType.put(
3459            VesselPersonRoleImpl.class,
3460            null);
3461    }
3462
3463    private static final void initializeMatrix128()
3464    {
3465        embeddedValueNamesByType.put(
3466            MatrixImpl.class,
3467            null);
3468        embeddedValuesByType.put(
3469            MatrixImpl.class,
3470            null);
3471        navigableAssociationEndsByType.put(
3472            MatrixImpl.class,
3473            Arrays.asList(
3474                new PropertyType[]
3475                {
3476                    new PropertyType("fractions", FractionImpl.class),
3477                    new PropertyType("status", StatusImpl.class)
3478                }
3479            )
3480        );
3481    }
3482
3483    private static final void initializeAggregationLevel129()
3484    {
3485        embeddedValueNamesByType.put(
3486            AggregationLevelImpl.class,
3487            null);
3488        embeddedValuesByType.put(
3489            AggregationLevelImpl.class,
3490            null);
3491        navigableAssociationEndsByType.put(
3492            AggregationLevelImpl.class,
3493            null);
3494    }
3495
3496    private static final void initializePmfm130()
3497    {
3498        embeddedValueNamesByType.put(
3499            PmfmImpl.class,
3500            null);
3501        embeddedValuesByType.put(
3502            PmfmImpl.class,
3503            null);
3504        navigableAssociationEndsByType.put(
3505            PmfmImpl.class,
3506            Arrays.asList(
3507                new PropertyType[]
3508                {
3509                    new PropertyType("aggregationLevel", AggregationLevelImpl.class),
3510                    new PropertyType("fraction", FractionImpl.class),
3511                    new PropertyType("method", MethodImpl.class),
3512                    new PropertyType("matrix", MatrixImpl.class),
3513                    new PropertyType("qualitativeValues", QualitativeValueImpl.class),
3514                    new PropertyType("parameter", ParameterImpl.class),
3515                    new PropertyType("unit", UnitImpl.class),
3516                    new PropertyType("status", StatusImpl.class)
3517                }
3518            )
3519        );
3520    }
3521
3522    private static final void initializeFraction131()
3523    {
3524        embeddedValueNamesByType.put(
3525            FractionImpl.class,
3526            null);
3527        embeddedValuesByType.put(
3528            FractionImpl.class,
3529            null);
3530        navigableAssociationEndsByType.put(
3531            FractionImpl.class,
3532            Arrays.asList(
3533                new PropertyType[]
3534                {
3535                    new PropertyType("matrixes", MatrixImpl.class),
3536                    new PropertyType("status", StatusImpl.class)
3537                }
3538            )
3539        );
3540    }
3541
3542    private static final void initializeMethod132()
3543    {
3544        embeddedValueNamesByType.put(
3545            MethodImpl.class,
3546            null);
3547        embeddedValuesByType.put(
3548            MethodImpl.class,
3549            null);
3550        navigableAssociationEndsByType.put(
3551            MethodImpl.class,
3552            Arrays.asList(
3553                new PropertyType[]
3554                {
3555                    new PropertyType("status", StatusImpl.class)
3556                }
3557            )
3558        );
3559    }
3560
3561    private static final void initializeParameterGroup133()
3562    {
3563        embeddedValueNamesByType.put(
3564            ParameterGroupImpl.class,
3565            null);
3566        embeddedValuesByType.put(
3567            ParameterGroupImpl.class,
3568            null);
3569        navigableAssociationEndsByType.put(
3570            ParameterGroupImpl.class,
3571            Arrays.asList(
3572                new PropertyType[]
3573                {
3574                    new PropertyType("parentParameterGroup", ParameterGroupImpl.class),
3575                    new PropertyType("childParameterGroups", ParameterGroupImpl.class),
3576                    new PropertyType("status", StatusImpl.class)
3577                }
3578            )
3579        );
3580    }
3581
3582    private static final void initializeParameter134()
3583    {
3584        embeddedValueNamesByType.put(
3585            ParameterImpl.class,
3586            null);
3587        embeddedValuesByType.put(
3588            ParameterImpl.class,
3589            null);
3590        navigableAssociationEndsByType.put(
3591            ParameterImpl.class,
3592            Arrays.asList(
3593                new PropertyType[]
3594                {
3595                    new PropertyType("parameterGroup", ParameterGroupImpl.class),
3596                    new PropertyType("status", StatusImpl.class),
3597                    new PropertyType("qualitativeValues", QualitativeValueImpl.class)
3598                }
3599            )
3600        );
3601    }
3602
3603    private static final void initializeUnit135()
3604    {
3605        embeddedValueNamesByType.put(
3606            UnitImpl.class,
3607            null);
3608        embeddedValuesByType.put(
3609            UnitImpl.class,
3610            null);
3611        navigableAssociationEndsByType.put(
3612            UnitImpl.class,
3613            Arrays.asList(
3614                new PropertyType[]
3615                {
3616                    new PropertyType("status", StatusImpl.class)
3617                }
3618            )
3619        );
3620    }
3621
3622    private static final void initializeQualitativeValue136()
3623    {
3624        embeddedValueNamesByType.put(
3625            QualitativeValueImpl.class,
3626            null);
3627        embeddedValuesByType.put(
3628            QualitativeValueImpl.class,
3629            null);
3630        navigableAssociationEndsByType.put(
3631            QualitativeValueImpl.class,
3632            Arrays.asList(
3633                new PropertyType[]
3634                {
3635                    new PropertyType("status", StatusImpl.class),
3636                    new PropertyType("parameter", ParameterImpl.class)
3637                }
3638            )
3639        );
3640    }
3641
3642    private static final void initializeNumericalPrecision137()
3643    {
3644        embeddedValueNamesByType.put(
3645            NumericalPrecisionImpl.class,
3646            null);
3647        embeddedValuesByType.put(
3648            NumericalPrecisionImpl.class,
3649            null);
3650        navigableAssociationEndsByType.put(
3651            NumericalPrecisionImpl.class,
3652            Arrays.asList(
3653                new PropertyType[]
3654                {
3655                    new PropertyType("status", StatusImpl.class)
3656                }
3657            )
3658        );
3659    }
3660
3661    private static final void initializeStatus138()
3662    {
3663        embeddedValueNamesByType.put(
3664            StatusImpl.class,
3665            null);
3666        embeddedValuesByType.put(
3667            StatusImpl.class,
3668            null);
3669        navigableAssociationEndsByType.put(
3670            StatusImpl.class,
3671            null);
3672    }
3673
3674    private static final void initializeDepthGradient139()
3675    {
3676        embeddedValueNamesByType.put(
3677            DepthGradientImpl.class,
3678            null);
3679        embeddedValuesByType.put(
3680            DepthGradientImpl.class,
3681            null);
3682        navigableAssociationEndsByType.put(
3683            DepthGradientImpl.class,
3684            Arrays.asList(
3685                new PropertyType[]
3686                {
3687                    new PropertyType("status", StatusImpl.class)
3688                }
3689            )
3690        );
3691    }
3692
3693    private static final void initializeQualityFlag140()
3694    {
3695        embeddedValueNamesByType.put(
3696            QualityFlagImpl.class,
3697            null);
3698        embeddedValuesByType.put(
3699            QualityFlagImpl.class,
3700            null);
3701        navigableAssociationEndsByType.put(
3702            QualityFlagImpl.class,
3703            Arrays.asList(
3704                new PropertyType[]
3705                {
3706                    new PropertyType("status", StatusImpl.class)
3707                }
3708            )
3709        );
3710    }
3711
3712    private static final void initializeGrouping141()
3713    {
3714        embeddedValueNamesByType.put(
3715            GroupingImpl.class,
3716            null);
3717        embeddedValuesByType.put(
3718            GroupingImpl.class,
3719            null);
3720        navigableAssociationEndsByType.put(
3721            GroupingImpl.class,
3722            Arrays.asList(
3723                new PropertyType[]
3724                {
3725                    new PropertyType("groupings", GroupingImpl.class),
3726                    new PropertyType("parentGrouping", GroupingImpl.class),
3727                    new PropertyType("groupingItems", GroupingItemImpl.class),
3728                    new PropertyType("groupingClassification", GroupingClassificationImpl.class),
3729                    new PropertyType("groupingLevel", GroupingLevelImpl.class),
3730                    new PropertyType("status", StatusImpl.class)
3731                }
3732            )
3733        );
3734    }
3735
3736    private static final void initializeGroupingItem142()
3737    {
3738        embeddedValueNamesByType.put(
3739            GroupingItemImpl.class,
3740            null);
3741        embeddedValuesByType.put(
3742            GroupingItemImpl.class,
3743            null);
3744        navigableAssociationEndsByType.put(
3745            GroupingItemImpl.class,
3746            Arrays.asList(
3747                new PropertyType[]
3748                {
3749                    new PropertyType("grouping", GroupingImpl.class)
3750                }
3751            )
3752        );
3753    }
3754
3755    private static final void initializeGroupingLevel143()
3756    {
3757        embeddedValueNamesByType.put(
3758            GroupingLevelImpl.class,
3759            null);
3760        embeddedValuesByType.put(
3761            GroupingLevelImpl.class,
3762            null);
3763        navigableAssociationEndsByType.put(
3764            GroupingLevelImpl.class,
3765            Arrays.asList(
3766                new PropertyType[]
3767                {
3768                    new PropertyType("parentGroupingLevel", GroupingLevelImpl.class),
3769                    new PropertyType("groupings", GroupingImpl.class),
3770                    new PropertyType("pmfm", PmfmImpl.class),
3771                    new PropertyType("groupingClassification", GroupingClassificationImpl.class),
3772                    new PropertyType("groupingLevels", GroupingLevelImpl.class)
3773                }
3774            )
3775        );
3776    }
3777
3778    private static final void initializeGroupingClassification144()
3779    {
3780        embeddedValueNamesByType.put(
3781            GroupingClassificationImpl.class,
3782            null);
3783        embeddedValuesByType.put(
3784            GroupingClassificationImpl.class,
3785            null);
3786        navigableAssociationEndsByType.put(
3787            GroupingClassificationImpl.class,
3788            Arrays.asList(
3789                new PropertyType[]
3790                {
3791                    new PropertyType("objectType", ObjectTypeImpl.class)
3792                }
3793            )
3794        );
3795    }
3796
3797    private static final void initializeSeller145()
3798    {
3799        embeddedValueNamesByType.put(
3800            SellerImpl.class,
3801            null);
3802        embeddedValuesByType.put(
3803            SellerImpl.class,
3804            null);
3805        navigableAssociationEndsByType.put(
3806            SellerImpl.class,
3807            Arrays.asList(
3808                new PropertyType[]
3809                {
3810                    new PropertyType("sellerType", SellerTypeImpl.class),
3811                    new PropertyType("baseSaleLocation", LocationImpl.class)
3812                }
3813            )
3814        );
3815    }
3816
3817    private static final void initializeSellerType146()
3818    {
3819        embeddedValueNamesByType.put(
3820            SellerTypeImpl.class,
3821            null);
3822        embeddedValuesByType.put(
3823            SellerTypeImpl.class,
3824            null);
3825        navigableAssociationEndsByType.put(
3826            SellerTypeImpl.class,
3827            Arrays.asList(
3828                new PropertyType[]
3829                {
3830                    new PropertyType("sellers", SellerImpl.class)
3831                }
3832            )
3833        );
3834    }
3835
3836    private static final void initializeProcessingStatus147()
3837    {
3838        embeddedValueNamesByType.put(
3839            ProcessingStatusImpl.class,
3840            null);
3841        embeddedValuesByType.put(
3842            ProcessingStatusImpl.class,
3843            null);
3844        navigableAssociationEndsByType.put(
3845            ProcessingStatusImpl.class,
3846            Arrays.asList(
3847                new PropertyType[]
3848                {
3849                    new PropertyType("status", StatusImpl.class),
3850                    new PropertyType("processingHistories", ProcessingHistoryImpl.class)
3851                }
3852            )
3853        );
3854    }
3855
3856    private static final void initializeUnitConversion148()
3857    {
3858        embeddedValueNamesByType.put(
3859            UnitConversionImpl.class,
3860            null);
3861        embeddedValuesByType.put(
3862            UnitConversionImpl.class,
3863            null);
3864        navigableAssociationEndsByType.put(
3865            UnitConversionImpl.class,
3866            Arrays.asList(
3867                new PropertyType[]
3868                {
3869                    new PropertyType("fromUnit", UnitImpl.class),
3870                    new PropertyType("toUnit", UnitImpl.class)
3871                }
3872            )
3873        );
3874    }
3875
3876    private static final void initializeRoundWeightConversion149()
3877    {
3878        embeddedValueNamesByType.put(
3879            RoundWeightConversionImpl.class,
3880            null);
3881        embeddedValuesByType.put(
3882            RoundWeightConversionImpl.class,
3883            null);
3884        navigableAssociationEndsByType.put(
3885            RoundWeightConversionImpl.class,
3886            Arrays.asList(
3887                new PropertyType[]
3888                {
3889                    new PropertyType("location", LocationImpl.class),
3890                    new PropertyType("preserving", QualitativeValueImpl.class),
3891                    new PropertyType("dressing", QualitativeValueImpl.class),
3892                    new PropertyType("taxonGroup", TaxonGroupImpl.class)
3893                }
3894            )
3895        );
3896    }
3897
3898    private static final void initializeWeightLengthConversion150()
3899    {
3900        embeddedValueNamesByType.put(
3901            WeightLengthConversionImpl.class,
3902            null);
3903        embeddedValuesByType.put(
3904            WeightLengthConversionImpl.class,
3905            null);
3906        navigableAssociationEndsByType.put(
3907            WeightLengthConversionImpl.class,
3908            Arrays.asList(
3909                new PropertyType[]
3910                {
3911                    new PropertyType("status", StatusImpl.class),
3912                    new PropertyType("sex", QualitativeValueImpl.class),
3913                    new PropertyType("lengthParameter", ParameterImpl.class),
3914                    new PropertyType("lengthUnit", UnitImpl.class),
3915                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
3916                    new PropertyType("location", LocationImpl.class)
3917                }
3918            )
3919        );
3920    }
3921
3922    private static final void initializeCorpusType151()
3923    {
3924        embeddedValueNamesByType.put(
3925            CorpusTypeImpl.class,
3926            null);
3927        embeddedValuesByType.put(
3928            CorpusTypeImpl.class,
3929            null);
3930        navigableAssociationEndsByType.put(
3931            CorpusTypeImpl.class,
3932            null);
3933    }
3934
3935    private static final void initializeFishery152()
3936    {
3937        embeddedValueNamesByType.put(
3938            FisheryImpl.class,
3939            null);
3940        embeddedValuesByType.put(
3941            FisheryImpl.class,
3942            null);
3943        navigableAssociationEndsByType.put(
3944            FisheryImpl.class,
3945            Arrays.asList(
3946                new PropertyType[]
3947                {
3948                    new PropertyType("regulationAreas", RegulationAreaImpl.class),
3949                    new PropertyType("corpuses", CorpusImpl.class)
3950                }
3951            )
3952        );
3953    }
3954
3955    private static final void initializeRightToProduce153()
3956    {
3957        embeddedValueNamesByType.put(
3958            RightToProduceImpl.class,
3959            null);
3960        embeddedValuesByType.put(
3961            RightToProduceImpl.class,
3962            null);
3963        navigableAssociationEndsByType.put(
3964            RightToProduceImpl.class,
3965            Arrays.asList(
3966                new PropertyType[]
3967                {
3968                    new PropertyType("program", ProgramImpl.class),
3969                    new PropertyType("vessels", VesselImpl.class),
3970                    new PropertyType("vesselOwners", VesselOwnerImpl.class),
3971                    new PropertyType("fisheries", FisheryImpl.class),
3972                    new PropertyType("corpus", CorpusImpl.class)
3973                }
3974            )
3975        );
3976    }
3977
3978    private static final void initializeRegulationArea2RegulationLocation154()
3979    {
3980        embeddedValueNamesByType.put(
3981            RegulationArea2RegulationLocationImpl.class,
3982            null);
3983        embeddedValuesByType.put(
3984            RegulationArea2RegulationLocationImpl.class,
3985            null);
3986        navigableAssociationEndsByType.put(
3987            RegulationArea2RegulationLocationImpl.class,
3988            Arrays.asList(
3989                new PropertyType[]
3990                {
3991                    new PropertyType("location", LocationImpl.class),
3992                    new PropertyType("regulationArea", RegulationAreaImpl.class)
3993                }
3994            )
3995        );
3996    }
3997
3998    private static final void initializeMinimumSizeAllowed155()
3999    {
4000        embeddedValueNamesByType.put(
4001            MinimumSizeAllowedImpl.class,
4002            null);
4003        embeddedValuesByType.put(
4004            MinimumSizeAllowedImpl.class,
4005            null);
4006        navigableAssociationEndsByType.put(
4007            MinimumSizeAllowedImpl.class,
4008            Arrays.asList(
4009                new PropertyType[]
4010                {
4011                    new PropertyType("corpus", CorpusImpl.class),
4012                    new PropertyType("sizeUnit", UnitImpl.class),
4013                    new PropertyType("locations", LocationImpl.class),
4014                    new PropertyType("taxonGroup", TaxonGroupImpl.class)
4015                }
4016            )
4017        );
4018    }
4019
4020    private static final void initializeRegulationArea156()
4021    {
4022        embeddedValueNamesByType.put(
4023            RegulationAreaImpl.class,
4024            null);
4025        embeddedValuesByType.put(
4026            RegulationAreaImpl.class,
4027            null);
4028        navigableAssociationEndsByType.put(
4029            RegulationAreaImpl.class,
4030            Arrays.asList(
4031                new PropertyType[]
4032                {
4033                    new PropertyType("grouping", GroupingImpl.class),
4034                    new PropertyType("regulationLocations", RegulationArea2RegulationLocationImpl.class),
4035                    new PropertyType("distanceToCoastGradient", DistanceToCoastGradientImpl.class),
4036                    new PropertyType("fishery", FisheryImpl.class),
4037                    new PropertyType("nearbySpecificArea", NearbySpecificAreaImpl.class),
4038                    new PropertyType("depthGradient", DepthGradientImpl.class),
4039                    new PropertyType("location", LocationImpl.class)
4040                }
4041            )
4042        );
4043    }
4044
4045    private static final void initializeCorpus157()
4046    {
4047        embeddedValueNamesByType.put(
4048            CorpusImpl.class,
4049            null);
4050        embeddedValuesByType.put(
4051            CorpusImpl.class,
4052            null);
4053        navigableAssociationEndsByType.put(
4054            CorpusImpl.class,
4055            Arrays.asList(
4056                new PropertyType[]
4057                {
4058                    new PropertyType("minimumSizeAlloweds", MinimumSizeAllowedImpl.class),
4059                    new PropertyType("fisheries", FisheryImpl.class),
4060                    new PropertyType("corpusType", CorpusTypeImpl.class),
4061                    new PropertyType("rightToProduces", RightToProduceImpl.class)
4062                }
4063            )
4064        );
4065    }
4066
4067    private static final void initializeGearAssociation158()
4068    {
4069        embeddedValueNamesByType.put(
4070            GearAssociationImpl.class,
4071            null);
4072        embeddedValuesByType.put(
4073            GearAssociationImpl.class,
4074            null);
4075        navigableAssociationEndsByType.put(
4076            GearAssociationImpl.class,
4077            Arrays.asList(
4078                new PropertyType[]
4079                {
4080                    new PropertyType("toGear", GearImpl.class),
4081                    new PropertyType("fromGear", GearImpl.class)
4082                }
4083            )
4084        );
4085    }
4086
4087    private static final void initializeFishingGear159()
4088    {
4089        embeddedValueNamesByType.put(
4090            FishingGearImpl.class,
4091            null);
4092        embeddedValuesByType.put(
4093            FishingGearImpl.class,
4094            null);
4095        navigableAssociationEndsByType.put(
4096            FishingGearImpl.class,
4097            Arrays.asList(
4098                new PropertyType[]
4099                {
4100                    new PropertyType("parentGear", GearImpl.class),
4101                    new PropertyType("status", StatusImpl.class),
4102                    new PropertyType("childGears", GearImpl.class),
4103                    new PropertyType("gearClassification", GearClassificationImpl.class)
4104                }
4105            )
4106        );
4107    }
4108
4109    private static final void initializeGear160()
4110    {
4111        embeddedValueNamesByType.put(
4112            GearImpl.class,
4113            null);
4114        embeddedValuesByType.put(
4115            GearImpl.class,
4116            null);
4117        navigableAssociationEndsByType.put(
4118            GearImpl.class,
4119            Arrays.asList(
4120                new PropertyType[]
4121                {
4122                    new PropertyType("parentGear", GearImpl.class),
4123                    new PropertyType("status", StatusImpl.class),
4124                    new PropertyType("childGears", GearImpl.class),
4125                    new PropertyType("gearClassification", GearClassificationImpl.class)
4126                }
4127            )
4128        );
4129    }
4130
4131    private static final void initializeGearClassificationAssociation161()
4132    {
4133        embeddedValueNamesByType.put(
4134            GearClassificationAssociationImpl.class,
4135            null);
4136        embeddedValuesByType.put(
4137            GearClassificationAssociationImpl.class,
4138            null);
4139        navigableAssociationEndsByType.put(
4140            GearClassificationAssociationImpl.class,
4141            Arrays.asList(
4142                new PropertyType[]
4143                {
4144                    new PropertyType("toGearClassification", GearClassificationImpl.class),
4145                    new PropertyType("fromGearClassification", GearClassificationImpl.class)
4146                }
4147            )
4148        );
4149    }
4150
4151    private static final void initializeGearClassification162()
4152    {
4153        embeddedValueNamesByType.put(
4154            GearClassificationImpl.class,
4155            null);
4156        embeddedValuesByType.put(
4157            GearClassificationImpl.class,
4158            null);
4159        navigableAssociationEndsByType.put(
4160            GearClassificationImpl.class,
4161            Arrays.asList(
4162                new PropertyType[]
4163                {
4164                    new PropertyType("gears", GearImpl.class)
4165                }
4166            )
4167        );
4168    }
4169
4170    private static final void initializeVesselType163()
4171    {
4172        embeddedValueNamesByType.put(
4173            VesselTypeImpl.class,
4174            null);
4175        embeddedValuesByType.put(
4176            VesselTypeImpl.class,
4177            null);
4178        navigableAssociationEndsByType.put(
4179            VesselTypeImpl.class,
4180            Arrays.asList(
4181                new PropertyType[]
4182                {
4183                    new PropertyType("status", StatusImpl.class)
4184                }
4185            )
4186        );
4187    }
4188
4189    private static final void initializeSaleType164()
4190    {
4191        embeddedValueNamesByType.put(
4192            SaleTypeImpl.class,
4193            null);
4194        embeddedValuesByType.put(
4195            SaleTypeImpl.class,
4196            null);
4197        navigableAssociationEndsByType.put(
4198            SaleTypeImpl.class,
4199            Arrays.asList(
4200                new PropertyType[]
4201                {
4202                    new PropertyType("status", StatusImpl.class)
4203                }
4204            )
4205        );
4206    }
4207
4208    private static final void initializeQualificationRule165()
4209    {
4210        embeddedValueNamesByType.put(
4211            QualificationRuleImpl.class,
4212            null);
4213        embeddedValuesByType.put(
4214            QualificationRuleImpl.class,
4215            null);
4216        navigableAssociationEndsByType.put(
4217            QualificationRuleImpl.class,
4218            Arrays.asList(
4219                new PropertyType[]
4220                {
4221                    new PropertyType("defaultQualityFlag", QualityFlagImpl.class),
4222                    new PropertyType("status", StatusImpl.class)
4223                }
4224            )
4225        );
4226    }
4227
4228    private static final void initializePhotoType166()
4229    {
4230        embeddedValueNamesByType.put(
4231            PhotoTypeImpl.class,
4232            null);
4233        embeddedValuesByType.put(
4234            PhotoTypeImpl.class,
4235            null);
4236        navigableAssociationEndsByType.put(
4237            PhotoTypeImpl.class,
4238            Arrays.asList(
4239                new PropertyType[]
4240                {
4241                    new PropertyType("status", StatusImpl.class)
4242                }
4243            )
4244        );
4245    }
4246
4247    private static final void initializeMetier167()
4248    {
4249        embeddedValueNamesByType.put(
4250            MetierImpl.class,
4251            null);
4252        embeddedValuesByType.put(
4253            MetierImpl.class,
4254            null);
4255        navigableAssociationEndsByType.put(
4256            MetierImpl.class,
4257            Arrays.asList(
4258                new PropertyType[]
4259                {
4260                    new PropertyType("taxonGroup", TaxonGroupImpl.class),
4261                    new PropertyType("gear", GearImpl.class),
4262                    new PropertyType("status", StatusImpl.class)
4263                }
4264            )
4265        );
4266    }
4267
4268    private static final void initializeAppliedSizeCategory168()
4269    {
4270        embeddedValueNamesByType.put(
4271            AppliedSizeCategoryImpl.class,
4272            null);
4273        embeddedValuesByType.put(
4274            AppliedSizeCategoryImpl.class,
4275            null);
4276        navigableAssociationEndsByType.put(
4277            AppliedSizeCategoryImpl.class,
4278            Arrays.asList(
4279                new PropertyType[]
4280                {
4281                    new PropertyType("sizeCategory", QualitativeValueImpl.class),
4282                    new PropertyType("location", LocationImpl.class),
4283                    new PropertyType("dressing", QualitativeValueImpl.class),
4284                    new PropertyType("taxonGroup", TaxonGroupImpl.class)
4285                }
4286            )
4287        );
4288    }
4289
4290    private static final void initializeSystemVersion169()
4291    {
4292        embeddedValueNamesByType.put(
4293            SystemVersionImpl.class,
4294            null);
4295        embeddedValuesByType.put(
4296            SystemVersionImpl.class,
4297            null);
4298        navigableAssociationEndsByType.put(
4299            SystemVersionImpl.class,
4300            null);
4301    }
4302
4303    private static final void initializeTaxonGroup2TaxonHierarchy170()
4304    {
4305        embeddedValueNamesByType.put(
4306            TaxonGroup2TaxonHierarchyImpl.class,
4307            null);
4308        embeddedValuesByType.put(
4309            TaxonGroup2TaxonHierarchyImpl.class,
4310            null);
4311        navigableAssociationEndsByType.put(
4312            TaxonGroup2TaxonHierarchyImpl.class,
4313            Arrays.asList(
4314                new PropertyType[]
4315                {
4316                    new PropertyType("childReferenceTaxon", ReferenceTaxonImpl.class),
4317                    new PropertyType("parentTaxonGroup", TaxonGroupImpl.class)
4318                }
4319            )
4320        );
4321    }
4322
4323    private static final void initializeTaxonGroupHierarchy171()
4324    {
4325        embeddedValueNamesByType.put(
4326            TaxonGroupHierarchyImpl.class,
4327            null);
4328        embeddedValuesByType.put(
4329            TaxonGroupHierarchyImpl.class,
4330            null);
4331        navigableAssociationEndsByType.put(
4332            TaxonGroupHierarchyImpl.class,
4333            Arrays.asList(
4334                new PropertyType[]
4335                {
4336                    new PropertyType("parentTaxonGroup", TaxonGroupImpl.class),
4337                    new PropertyType("childTaxonGroup", TaxonGroupImpl.class)
4338                }
4339            )
4340        );
4341    }
4342
4343    private static final void initializeGroupingItemHierarchy172()
4344    {
4345        embeddedValueNamesByType.put(
4346            GroupingItemHierarchyImpl.class,
4347            null);
4348        embeddedValuesByType.put(
4349            GroupingItemHierarchyImpl.class,
4350            null);
4351        navigableAssociationEndsByType.put(
4352            GroupingItemHierarchyImpl.class,
4353            Arrays.asList(
4354                new PropertyType[]
4355                {
4356                    new PropertyType("grouping", GroupingImpl.class),
4357                    new PropertyType("groupingClassification", GroupingClassificationImpl.class)
4358                }
4359            )
4360        );
4361    }
4362
4363    private static final void initializeGroupingVesselHierarchy173()
4364    {
4365        embeddedValueNamesByType.put(
4366            GroupingVesselHierarchyImpl.class,
4367            null);
4368        embeddedValuesByType.put(
4369            GroupingVesselHierarchyImpl.class,
4370            null);
4371        navigableAssociationEndsByType.put(
4372            GroupingVesselHierarchyImpl.class,
4373            Arrays.asList(
4374                new PropertyType[]
4375                {
4376                    new PropertyType("grouping", GroupingImpl.class),
4377                    new PropertyType("originProgram", ProgramImpl.class),
4378                    new PropertyType("originObjectType", ObjectTypeImpl.class),
4379                    new PropertyType("groupingClassification", GroupingClassificationImpl.class),
4380                    new PropertyType("location", LocationImpl.class),
4381                    new PropertyType("vessel", VesselImpl.class)
4382                }
4383            )
4384        );
4385    }
4386
4387    private static final void initializeLocationHierarchyException174()
4388    {
4389        embeddedValueNamesByType.put(
4390            LocationHierarchyExceptionImpl.class,
4391            null);
4392        embeddedValuesByType.put(
4393            LocationHierarchyExceptionImpl.class,
4394            null);
4395        navigableAssociationEndsByType.put(
4396            LocationHierarchyExceptionImpl.class,
4397            Arrays.asList(
4398                new PropertyType[]
4399                {
4400                    new PropertyType("location", LocationImpl.class),
4401                    new PropertyType("parent", LocationImpl.class)
4402                }
4403            )
4404        );
4405    }
4406
4407    private static final void initializeLocationHierarchy175()
4408    {
4409        embeddedValueNamesByType.put(
4410            LocationHierarchyImpl.class,
4411            null);
4412        embeddedValuesByType.put(
4413            LocationHierarchyImpl.class,
4414            null);
4415        navigableAssociationEndsByType.put(
4416            LocationHierarchyImpl.class,
4417            Arrays.asList(
4418                new PropertyType[]
4419                {
4420                    new PropertyType("location", LocationImpl.class),
4421                    new PropertyType("parent", LocationImpl.class)
4422                }
4423            )
4424        );
4425    }
4426
4427    private static final void initializeDenormalizedVessel176()
4428    {
4429        embeddedValueNamesByType.put(
4430            DenormalizedVesselImpl.class,
4431            null);
4432        embeddedValuesByType.put(
4433            DenormalizedVesselImpl.class,
4434            null);
4435        navigableAssociationEndsByType.put(
4436            DenormalizedVesselImpl.class,
4437            Arrays.asList(
4438                new PropertyType[]
4439                {
4440                    new PropertyType("registrationLocation", LocationImpl.class),
4441                    new PropertyType("registrationCountry", LocationImpl.class),
4442                    new PropertyType("vessel", VesselImpl.class),
4443                    new PropertyType("program", ProgramImpl.class),
4444                    new PropertyType("vesselOwner", VesselOwnerImpl.class)
4445                }
4446            )
4447        );
4448    }
4449
4450    private static final void initializeProgram2Department177()
4451    {
4452        embeddedValueNamesByType.put(
4453            Program2DepartmentImpl.class,
4454            null);
4455        embeddedValuesByType.put(
4456            Program2DepartmentImpl.class,
4457            null);
4458        navigableAssociationEndsByType.put(
4459            Program2DepartmentImpl.class,
4460            Arrays.asList(
4461                new PropertyType[]
4462                {
4463                    new PropertyType("programPrivilege", ProgramPrivilegeImpl.class),
4464                    new PropertyType("program", ProgramImpl.class),
4465                    new PropertyType("location", LocationImpl.class),
4466                    new PropertyType("department", DepartmentImpl.class)
4467                }
4468            )
4469        );
4470    }
4471
4472    private static final void initializeProgram178()
4473    {
4474        embeddedValueNamesByType.put(
4475            ProgramImpl.class,
4476            null);
4477        embeddedValuesByType.put(
4478            ProgramImpl.class,
4479            null);
4480        navigableAssociationEndsByType.put(
4481            ProgramImpl.class,
4482            Arrays.asList(
4483                new PropertyType[]
4484                {
4485                    new PropertyType("taxonGroupType", TaxonGroupTypeImpl.class),
4486                    new PropertyType("programUsers", Program2PersonImpl.class),
4487                    new PropertyType("program2Departments", Program2DepartmentImpl.class),
4488                    new PropertyType("locationClassifications", LocationClassificationImpl.class),
4489                    new PropertyType("gearClassification", GearClassificationImpl.class),
4490                    new PropertyType("strategies", StrategyImpl.class),
4491                    new PropertyType("locations", LocationImpl.class)
4492                }
4493            )
4494        );
4495    }
4496
4497    private static final void initializeBatchModelAppliedStrategy179()
4498    {
4499        embeddedValueNamesByType.put(
4500            BatchModelAppliedStrategyImpl.class,
4501            null);
4502        embeddedValuesByType.put(
4503            BatchModelAppliedStrategyImpl.class,
4504            null);
4505        navigableAssociationEndsByType.put(
4506            BatchModelAppliedStrategyImpl.class,
4507            Arrays.asList(
4508                new PropertyType[]
4509                {
4510                    new PropertyType("batchModel", BatchModelImpl.class),
4511                    new PropertyType("appliedStrategy", AppliedStrategyImpl.class),
4512                    new PropertyType("acquisitionLevel", AcquisitionLevelImpl.class)
4513                }
4514            )
4515        );
4516    }
4517
4518    private static final void initializePmfmStrategy180()
4519    {
4520        embeddedValueNamesByType.put(
4521            PmfmStrategyImpl.class,
4522            null);
4523        embeddedValuesByType.put(
4524            PmfmStrategyImpl.class,
4525            null);
4526        navigableAssociationEndsByType.put(
4527            PmfmStrategyImpl.class,
4528            Arrays.asList(
4529                new PropertyType[]
4530                {
4531                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
4532                    new PropertyType("precisionType", PrecisionTypeImpl.class),
4533                    new PropertyType("acquisitionLevel", AcquisitionLevelImpl.class),
4534                    new PropertyType("metier", MetierImpl.class),
4535                    new PropertyType("gear", GearImpl.class),
4536                    new PropertyType("strategy", StrategyImpl.class),
4537                    new PropertyType("pmfm", PmfmImpl.class)
4538                }
4539            )
4540        );
4541    }
4542
4543    private static final void initializeProgramPrivilege181()
4544    {
4545        embeddedValueNamesByType.put(
4546            ProgramPrivilegeImpl.class,
4547            null);
4548        embeddedValuesByType.put(
4549            ProgramPrivilegeImpl.class,
4550            null);
4551        navigableAssociationEndsByType.put(
4552            ProgramPrivilegeImpl.class,
4553            Arrays.asList(
4554                new PropertyType[]
4555                {
4556                    new PropertyType("program2Persons", Program2PersonImpl.class),
4557                    new PropertyType("program2Departments", Program2DepartmentImpl.class)
4558                }
4559            )
4560        );
4561    }
4562
4563    private static final void initializeAppliedPeriod182()
4564    {
4565        embeddedValueNamesByType.put(
4566            AppliedPeriodImpl.class,
4567            null);
4568        embeddedValuesByType.put(
4569            AppliedPeriodImpl.class,
4570            null);
4571        navigableAssociationEndsByType.put(
4572            AppliedPeriodImpl.class,
4573            Arrays.asList(
4574                new PropertyType[]
4575                {
4576                    new PropertyType("appliedStrategy", AppliedStrategyImpl.class)
4577                }
4578            )
4579        );
4580    }
4581
4582    private static final void initializeStrategy183()
4583    {
4584        embeddedValueNamesByType.put(
4585            StrategyImpl.class,
4586            null);
4587        embeddedValuesByType.put(
4588            StrategyImpl.class,
4589            null);
4590        navigableAssociationEndsByType.put(
4591            StrategyImpl.class,
4592            Arrays.asList(
4593                new PropertyType[]
4594                {
4595                    new PropertyType("referenceTaxonStrategies", ReferenceTaxonStrategyImpl.class),
4596                    new PropertyType("managersUsers", PersonImpl.class),
4597                    new PropertyType("program", ProgramImpl.class),
4598                    new PropertyType("pmfmStrategies", PmfmStrategyImpl.class),
4599                    new PropertyType("appliedStrategies", AppliedStrategyImpl.class),
4600                    new PropertyType("gears", GearImpl.class)
4601                }
4602            )
4603        );
4604    }
4605
4606    private static final void initializeProgram2Person184()
4607    {
4608        embeddedValueNamesByType.put(
4609            Program2PersonImpl.class,
4610            null);
4611        embeddedValuesByType.put(
4612            Program2PersonImpl.class,
4613            null);
4614        navigableAssociationEndsByType.put(
4615            Program2PersonImpl.class,
4616            Arrays.asList(
4617                new PropertyType[]
4618                {
4619                    new PropertyType("program2PersonExceptions", Program2PersonExceptionImpl.class),
4620                    new PropertyType("program", ProgramImpl.class),
4621                    new PropertyType("programPrivilege", ProgramPrivilegeImpl.class),
4622                    new PropertyType("location", LocationImpl.class),
4623                    new PropertyType("person", PersonImpl.class)
4624                }
4625            )
4626        );
4627    }
4628
4629    private static final void initializeAppliedStrategy185()
4630    {
4631        embeddedValueNamesByType.put(
4632            AppliedStrategyImpl.class,
4633            null);
4634        embeddedValuesByType.put(
4635            AppliedStrategyImpl.class,
4636            null);
4637        navigableAssociationEndsByType.put(
4638            AppliedStrategyImpl.class,
4639            Arrays.asList(
4640                new PropertyType[]
4641                {
4642                    new PropertyType("batchModelAppliedStrategies", BatchModelAppliedStrategyImpl.class),
4643                    new PropertyType("appliedPeriods", AppliedPeriodImpl.class),
4644                    new PropertyType("strategy", StrategyImpl.class),
4645                    new PropertyType("location", LocationImpl.class),
4646                    new PropertyType("pmfmAppliedStrategies", PmfmAppliedStrategyImpl.class)
4647                }
4648            )
4649        );
4650    }
4651
4652    private static final void initializeProgram2PersonException186()
4653    {
4654        embeddedValueNamesByType.put(
4655            Program2PersonExceptionImpl.class,
4656            null);
4657        embeddedValuesByType.put(
4658            Program2PersonExceptionImpl.class,
4659            null);
4660        navigableAssociationEndsByType.put(
4661            Program2PersonExceptionImpl.class,
4662            Arrays.asList(
4663                new PropertyType[]
4664                {
4665                    new PropertyType("vessel", VesselImpl.class),
4666                    new PropertyType("program2Person", Program2PersonImpl.class)
4667                }
4668            )
4669        );
4670    }
4671
4672    private static final void initializeAcquisitionLevel187()
4673    {
4674        embeddedValueNamesByType.put(
4675            AcquisitionLevelImpl.class,
4676            null);
4677        embeddedValuesByType.put(
4678            AcquisitionLevelImpl.class,
4679            null);
4680        navigableAssociationEndsByType.put(
4681            AcquisitionLevelImpl.class,
4682            null);
4683    }
4684
4685    private static final void initializePmfmAppliedStrategy188()
4686    {
4687        embeddedValueNamesByType.put(
4688            PmfmAppliedStrategyImpl.class,
4689            null);
4690        embeddedValuesByType.put(
4691            PmfmAppliedStrategyImpl.class,
4692            null);
4693        navigableAssociationEndsByType.put(
4694            PmfmAppliedStrategyImpl.class,
4695            Arrays.asList(
4696                new PropertyType[]
4697                {
4698                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
4699                    new PropertyType("gear", GearImpl.class),
4700                    new PropertyType("pmfm", PmfmImpl.class),
4701                    new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
4702                    new PropertyType("metier", MetierImpl.class),
4703                    new PropertyType("appliedStrategy", AppliedStrategyImpl.class)
4704                }
4705            )
4706        );
4707    }
4708
4709    private static final void initializeReferenceTaxonStrategy189()
4710    {
4711        embeddedValueNamesByType.put(
4712            ReferenceTaxonStrategyImpl.class,
4713            null);
4714        embeddedValuesByType.put(
4715            ReferenceTaxonStrategyImpl.class,
4716            null);
4717        navigableAssociationEndsByType.put(
4718            ReferenceTaxonStrategyImpl.class,
4719            Arrays.asList(
4720                new PropertyType[]
4721                {
4722                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
4723                    new PropertyType("strategy", StrategyImpl.class)
4724                }
4725            )
4726        );
4727    }
4728
4729    private static final void initializeDepartment190()
4730    {
4731        embeddedValueNamesByType.put(
4732            DepartmentImpl.class,
4733            null);
4734        embeddedValuesByType.put(
4735            DepartmentImpl.class,
4736            null);
4737        navigableAssociationEndsByType.put(
4738            DepartmentImpl.class,
4739            Arrays.asList(
4740                new PropertyType[]
4741                {
4742                    new PropertyType("parentDepartment", DepartmentImpl.class),
4743                    new PropertyType("program2Departments", Program2DepartmentImpl.class),
4744                    new PropertyType("departments", DepartmentImpl.class),
4745                    new PropertyType("status", StatusImpl.class)
4746                }
4747            )
4748        );
4749    }
4750
4751    private static final void initializeManagedDataTransfer191()
4752    {
4753        embeddedValueNamesByType.put(
4754            ManagedDataTransferImpl.class,
4755            null);
4756        embeddedValuesByType.put(
4757            ManagedDataTransferImpl.class,
4758            null);
4759        navigableAssociationEndsByType.put(
4760            ManagedDataTransferImpl.class,
4761            Arrays.asList(
4762                new PropertyType[]
4763                {
4764                    new PropertyType("managedData", ManagedDataImpl.class),
4765                    new PropertyType("newManagerUser", PersonImpl.class)
4766                }
4767            )
4768        );
4769    }
4770
4771    private static final void initializeAgeReaderQualification192()
4772    {
4773        embeddedValueNamesByType.put(
4774            AgeReaderQualificationImpl.class,
4775            null);
4776        embeddedValuesByType.put(
4777            AgeReaderQualificationImpl.class,
4778            null);
4779        navigableAssociationEndsByType.put(
4780            AgeReaderQualificationImpl.class,
4781            Arrays.asList(
4782                new PropertyType[]
4783                {
4784                    new PropertyType("people", PersonImpl.class),
4785                    new PropertyType("locations", LocationImpl.class),
4786                    new PropertyType("referenceTaxon", ReferenceTaxonImpl.class)
4787                }
4788            )
4789        );
4790    }
4791
4792    private static final void initializeDepartmentPrivilegeTransfert193()
4793    {
4794        embeddedValueNamesByType.put(
4795            DepartmentPrivilegeTransfertImpl.class,
4796            null);
4797        embeddedValuesByType.put(
4798            DepartmentPrivilegeTransfertImpl.class,
4799            null);
4800        navigableAssociationEndsByType.put(
4801            DepartmentPrivilegeTransfertImpl.class,
4802            Arrays.asList(
4803                new PropertyType[]
4804                {
4805                    new PropertyType("fromDepartment", DepartmentImpl.class),
4806                    new PropertyType("status", StatusImpl.class),
4807                    new PropertyType("toDepartment", DepartmentImpl.class)
4808                }
4809            )
4810        );
4811    }
4812
4813    private static final void initializeManagedDataType194()
4814    {
4815        embeddedValueNamesByType.put(
4816            ManagedDataTypeImpl.class,
4817            null);
4818        embeddedValuesByType.put(
4819            ManagedDataTypeImpl.class,
4820            null);
4821        navigableAssociationEndsByType.put(
4822            ManagedDataTypeImpl.class,
4823            Arrays.asList(
4824                new PropertyType[]
4825                {
4826                    new PropertyType("status", StatusImpl.class)
4827                }
4828            )
4829        );
4830    }
4831
4832    private static final void initializePersonSession195()
4833    {
4834        embeddedValueNamesByType.put(
4835            PersonSessionImpl.class,
4836            null);
4837        embeddedValuesByType.put(
4838            PersonSessionImpl.class,
4839            null);
4840        navigableAssociationEndsByType.put(
4841            PersonSessionImpl.class,
4842            Arrays.asList(
4843                new PropertyType[]
4844                {
4845                    new PropertyType("personSessionVessels", PersonSessionVesselImpl.class),
4846                    new PropertyType("person", PersonImpl.class)
4847                }
4848            )
4849        );
4850    }
4851
4852    private static final void initializeVesselManagePeriod196()
4853    {
4854        embeddedValueNamesByType.put(
4855            VesselManagePeriodImpl.class,
4856            null);
4857        embeddedValuesByType.put(
4858            VesselManagePeriodImpl.class,
4859            null);
4860        navigableAssociationEndsByType.put(
4861            VesselManagePeriodImpl.class,
4862            Arrays.asList(
4863                new PropertyType[]
4864                {
4865                    new PropertyType("vessel", VesselImpl.class),
4866                    new PropertyType("managedData", ManagedDataImpl.class)
4867                }
4868            )
4869        );
4870    }
4871
4872    private static final void initializePerson197()
4873    {
4874        embeddedValueNamesByType.put(
4875            PersonImpl.class,
4876            null);
4877        embeddedValuesByType.put(
4878            PersonImpl.class,
4879            null);
4880        navigableAssociationEndsByType.put(
4881            PersonImpl.class,
4882            Arrays.asList(
4883                new PropertyType[]
4884                {
4885                    new PropertyType("program2Persons", Program2PersonImpl.class),
4886                    new PropertyType("profils", UserProfilImpl.class),
4887                    new PropertyType("status", StatusImpl.class),
4888                    new PropertyType("department", DepartmentImpl.class)
4889                }
4890            )
4891        );
4892    }
4893
4894    private static final void initializePersonSessionVessel198()
4895    {
4896        embeddedValueNamesByType.put(
4897            PersonSessionVesselImpl.class,
4898            null);
4899        embeddedValuesByType.put(
4900            PersonSessionVesselImpl.class,
4901            null);
4902        navigableAssociationEndsByType.put(
4903            PersonSessionVesselImpl.class,
4904            Arrays.asList(
4905                new PropertyType[]
4906                {
4907                    new PropertyType("personSession", PersonSessionImpl.class),
4908                    new PropertyType("vessel", VesselImpl.class),
4909                    new PropertyType("program", ProgramImpl.class),
4910                    new PropertyType("objectType", ObjectTypeImpl.class)
4911                }
4912            )
4913        );
4914    }
4915
4916    private static final void initializeManagedData199()
4917    {
4918        embeddedValueNamesByType.put(
4919            ManagedDataImpl.class,
4920            null);
4921        embeddedValuesByType.put(
4922            ManagedDataImpl.class,
4923            null);
4924        navigableAssociationEndsByType.put(
4925            ManagedDataImpl.class,
4926            Arrays.asList(
4927                new PropertyType[]
4928                {
4929                    new PropertyType("vesselManagePeriods", VesselManagePeriodImpl.class),
4930                    new PropertyType("viewerUsers", PersonImpl.class),
4931                    new PropertyType("managerUser", PersonImpl.class),
4932                    new PropertyType("supervisorUser", PersonImpl.class),
4933                    new PropertyType("managedDataTransfers", ManagedDataTransferImpl.class),
4934                    new PropertyType("managedDataType", ManagedDataTypeImpl.class)
4935                }
4936            )
4937        );
4938    }
4939
4940    private static final void initializeUserProfil200()
4941    {
4942        embeddedValueNamesByType.put(
4943            UserProfilImpl.class,
4944            null);
4945        embeddedValuesByType.put(
4946            UserProfilImpl.class,
4947            null);
4948        navigableAssociationEndsByType.put(
4949            UserProfilImpl.class,
4950            null);
4951    }
4952
4953    /**
4954     * Attempts to get the embedded value list for the given type (or returns null
4955     * if one doesn't exist).
4956     *
4957     * @param type the type of which to retrieve the value.
4958     * @return the collection of embedded value names.
4959     */
4960    public static Collection getEmbeddedValues(final Class type)
4961    {
4962        return (Collection)embeddedValueNamesByType.get(type);
4963    }
4964
4965    /**
4966     * Gets the type of the navigable association end given the <code>ownerType</code>
4967     * and <code>name</code>
4968     *
4969     * @param ownerType the owner of the association.
4970     * @param name the name of the association end to find.
4971     * @return the type of the association end.
4972     */
4973    public static Class getNavigableAssociationEndType(final Class ownerType, final String name)
4974    {
4975        return getPropertyType(navigableAssociationEndsByType, ownerType, name);
4976    }
4977
4978    /**
4979     * Gets the type of the embedded value given the <code>ownerType</code>
4980     * and <code>name</code>
4981     *
4982     * @param ownerType the owner of the association.
4983     * @param name the name of the association end to find.
4984     * @return the type of the association end.
4985     */
4986    public static Class getEmbeddedValueType(final Class ownerType, final String name)
4987    {
4988        return getPropertyType(embeddedValuesByType, ownerType, name);
4989    }
4990
4991    /**
4992     * Gets the type of the embedded value given the <code>ownerType</code>
4993     * and <code>name</code>
4994     *
4995     * @param properties Map contains the Collection of properties given the ownerType Class
4996     * @param ownerType the owner of the association.
4997     * @param name the name of the association end to find.
4998     * @return the type of the association end.
4999     */
5000    public static Class getPropertyType(final Map properties, final Class ownerType, final String name)
5001    {
5002        final Collection ends = (Collection)properties.get(ownerType);
5003        final PropertyType type = (PropertyType)CollectionUtils.find(
5004            ends,
5005            new Predicate()
5006            {
5007                public boolean evaluate(final Object object)
5008                {
5009                    return ((PropertyType)object).name.equals(name);
5010                }
5011            });
5012        return type != null ? type.type : null;
5013    }
5014
5015    /**
5016     * Gets the type of the property given the <code>ownerType</code>
5017     * and <code>name</code>
5018     *
5019     * @param ownerType the owner of the association.
5020     * @param name the name of the association end to find.
5021     * @return the type of the association end.
5022     */
5023    public static Class getPropertyType(final Class ownerType, final String name)
5024    {
5025        Class type = getNavigableAssociationEndType(ownerType, name);
5026        if (type == null)
5027        {
5028            type = getEmbeddedValueType(ownerType, name);
5029        }
5030        return type;
5031    }
5032
5033    /**
5034     * A private class storing the name and type.
5035     */
5036    protected static final class PropertyType
5037    {
5038        /**
5039         * @param nameIn
5040         * @param typeIn
5041         */
5042        protected PropertyType(final String nameIn, final Class typeIn)
5043        {
5044            this.name = nameIn;
5045            this.type = typeIn;
5046        }
5047
5048        /** PropertyType name */
5049        protected String name;
5050        /** PropertyType type Class */
5051        protected Class type;
5052    }
5053}