public MappingFunctionStore(MapForceMapping mapForceMapping, TargetElementStore targetElementStore)
        {
            foreach (FunctionComponent functionComponent in mapForceMapping.FunctionComponents)
            {
                switch (functionComponent.FunctionType)
                {
                case "split":
                {
                    List <object> targetCcElements = new List <object>();

                    foreach (InputOutputKey outputKey in functionComponent.OutputKeys)
                    {
                        string targetElementKey = mapForceMapping.GetMappingTargetKey(outputKey.Value);
                        if (targetElementKey != null)
                        {
                            targetCcElements.Add(targetElementStore.GetTargetCc(targetElementKey));
                        }
                    }

                    MappingFunction mappingFunction = new MappingFunction(targetCcElements);

                    foreach (InputOutputKey inputKey in functionComponent.InputKeys)
                    {
                        mappingFunctions[inputKey.Value] = mappingFunction;
                    }
                }
                break;
                }
            }
        }
        private object GetTargetElement(SourceItem element)
        {
            if (element.IsMapped)
            {
                return(targetElementStore.GetTargetCc(element.MappingTargetKey));
            }

            return(null);
        }