public PackageDataModelOracle build() { //Copy Module DMO into Package DMO final ModuleDataModelOracleImpl pd = (ModuleDataModelOracleImpl) moduleOracle; packageOracle.addModuleModelFields(pd.getModuleModelFields()); packageOracle.addModuleFieldParametersType(pd.getModuleFieldParametersType()); packageOracle.addModuleJavaEnumDefinitions(pd.getModuleJavaEnumDefinitions()); packageOracle.addModuleMethodInformation(pd.getModuleMethodInformation()); packageOracle.addModuleCollectionTypes(pd.getModuleCollectionTypes()); packageOracle.addModuleEventTypes(pd.getModuleEventTypes()); packageOracle.addModuleTypeSources(pd.getModuleTypeSources()); packageOracle.addModuleSuperTypes(pd.getModuleSuperTypes()); packageOracle.addModuleTypeAnnotations(pd.getModuleTypeAnnotations()); packageOracle.addModuleTypeFieldsAnnotations(pd.getModuleTypeFieldsAnnotations()); packageOracle.addModulePackageNames(pd.getModulePackageNames()); //Add Package DMO specifics loadEnums(); loadPackageElements(); loadGlobals(); loadModuleOracle(); return packageOracle; }