private void ProcessAllMappingsForTypAndRedaktion (Typ activeTyp, DataRow newRow, ProcessConnector processConnectorToProcess,
			ChapterBase dynamicPageToCreateForThisRun, String pageIDToUse)
			{
			ObservableCollection<StandBildMapping> MappingsForThisTyp = null;
			if (processConnectorToProcess.Redaktion == "StandBild")
				MappingsForThisTyp = activeTyp.AvailableStandBildMappingsForStandBild;
			else
				if (processConnectorToProcess.Redaktion == "Banner")
					MappingsForThisTyp = activeTyp.AvailableStandBildMappingsForBanner;
				else
					MappingsForThisTyp = activeTyp.AvailableStandBildMappingsForAll;
			foreach (StandBildMapping Mapping in MappingsForThisTyp)
				{
				foreach (InformationAddOn InfoAddOn in InformationToProcess.InformationenAddOns)
					{
					if (Mapping.SourceDataDependencyId != InfoAddOn.DataDependencyId)
						continue;
					Profile.ActiveDataDependency = Profile.SetActiveDataDependencyViaId
										((Guid)InfoAddOn.DataDependencyId);
					if ((Profile.ActiveDataDependency.DataElementeTemplate.UseMultiple == "Yes")
						&& (pageIDToUse != "1"))
						continue;
					ProcessThisMapping(InfoAddOn, newRow, processConnectorToProcess,
							Mapping, pageIDToUse);
#if DEBUG
						DoMappingTrace("After Standard Mapping", newRow, Mapping);
#endif

					}
				if (dynamicPageToCreateForThisRun != null)
					foreach (InformationAddOn InfoAddOn in dynamicPageToCreateForThisRun.InformationenAddOnLinkedWithThisChapter)
						{
						if (Mapping.SourceDataDependencyId != InfoAddOn.DataDependencyId)
							continue;
						Profile.ActiveDataDependency = Profile.SetActiveDataDependencyViaId((Guid)InfoAddOn.DataDependencyId);
						if (Profile.ActiveDataDependency.DataElementeTemplate.UseMultiple != "Yes")
							throw new Exception("Profile.ActiveFullDataDependency.UseMultiple != \"Yes\"");
						ProcessThisMapping(InfoAddOn, newRow, processConnectorToProcess,
								Mapping, pageIDToUse);
#if DEBUG
							DoMappingTrace("After Chapter Mapping", newRow, Mapping);
#endif

						}
				}

			}
		public void AssignChapter(ChapterBase entryToAssign)
			{
			if (entryToAssign == null)
				return;
			InformationAddOnToProcess.Get_ConnectedProcessConnector.UsedChapters.Add(entryToAssign);
			}
		public void UnAssignChapter(ChapterBase entryToUnassign)
			{
			if (entryToUnassign == null)
				return;
			InformationAddOnToProcess.Get_ConnectedProcessConnector.RemoveFromUsedChapters(entryToUnassign);
			}