public virtual SuperBeans Build(ISdmxObjects buildFrom, SuperBeans existingBeans,
				ISdmxRetrievalManager retrievalManager) {
			LOG.Debug("Build Superbeans: Create LocalRetrievalManager");
	
			if (existingBeans == null) {
				existingBeans = new SuperBeansImpl();
			}
	
			/* foreach */
			foreach (ICategorySchemeObject currentBean  in  buildFrom.CategorySchemes) {
				LOG.Debug("Build ISuper: " + currentBean.Urn);
				existingBeans.AddCategoryScheme(categorySchemeSuperBeanBuilder
						.Build(currentBean));
			}
			/* foreach */
			foreach (ICodelistObject currentBean0  in  buildFrom.Codelists) {
				LOG.Debug("Build ISuper: " + currentBean0.Urn);
				existingBeans.AddCodelist(codelistSuperBeanBuilder
						.Build(currentBean0));
			}
			/* foreach */
			foreach (IConceptSchemeObject currentBean1  in  buildFrom.ConceptSchemes) {
				LOG.Debug("Build ISuper: " + currentBean1.Urn);
				existingBeans.AddConceptScheme(conceptSchemeSuperBeanBuilder.Build(
						currentBean1, retrievalManager, existingBeans));
			}
			/* foreach */
			foreach (IDataflowObject currentBean2  in  buildFrom.Dataflows) {
				LOG.Debug("Build ISuper: " + currentBean2.Urn);
				existingBeans.AddDataflow(dataflowSuperBeanBuilder.Build(
						currentBean2, retrievalManager, existingBeans));
			}
			/* foreach */
			foreach (IDataStructureObject currentBean3  in  buildFrom.DataStructures) {
				LOG.Debug("Build ISuper: " + currentBean3.Urn);
				existingBeans.AddDataStructure(dataStructureSuperBeanBuilder.Build(
						currentBean3, retrievalManager, existingBeans));
			}
			/* foreach */
			foreach (IHierarchicalCodelistObject currentBean4  in  buildFrom
					.HierarchicalCodelists) {
				LOG.Debug("Build ISuper: " + currentBean4.Urn);
				existingBeans
						.AddHierarchicalCodelist(hierarchicalCodelistSuperBeanBuilder
								.Build(currentBean4, retrievalManager));
			}
			/* foreach */
			foreach (IProvisionAgreementObject currentBean5  in  buildFrom
					.ProvisionAgreements) {
				LOG.Debug("Build ISuper: " + currentBean5.Urn);
				existingBeans.AddProvision(provisionSuperBeanBuilder.Build(
						currentBean5, retrievalManager, existingBeans));
			}
			/* foreach */
			foreach (IProcessObject currentBean6  in  buildFrom.Processes) {
				LOG.Debug("Build ISuper: " + currentBean6.Urn);
				existingBeans.AddProcess(processSuperBeanBuilder.Build(currentBean6,
						retrievalManager));
			}
			/* foreach */
			foreach (IRegistrationObject currentBean7  in  buildFrom.Registrations) {
				LOG.Debug("Build ISuper: " + currentBean7.Urn);
				existingBeans.AddRegistration(registrationSuperBeanBuilder.Build(
						currentBean7, retrievalManager, existingBeans));
			}
			return existingBeans;
		}
		/// <summary>
		/// Minimal constructor
		/// </summary>
		///
		/// <param name="superBeans0"></param>
		public InMemoryISdmxBaseObjectRetrievalManager(SuperBeans superBeans0) {
			this.superBeans = superBeans0;
			if (superBeans0 == null) {
				superBeans0 = new SuperBeansImpl();
			}
		}