public static MemberMapping GetMapping(MemberMappingOptions memberMappingOptions)
        {
            if (_mappings.ContainsKey(memberMappingOptions.Member))
            {
                return(_mappings[memberMappingOptions.Member]);
            }

            if (memberMappingOptions is ForeignObjectMappingOptions)
            {
                return(_mappings[memberMappingOptions.Member] = new ForeignObjectPropertyMapping((ForeignObjectMappingOptions)memberMappingOptions));
            }
            else if (memberMappingOptions is ReferenceListMappingOptions)
            {
                return(_mappings[memberMappingOptions.Member] = new ReferenceListPropertyMapping((ReferenceListMappingOptions)memberMappingOptions));
            }
            else
            {
                return(_mappings[memberMappingOptions.Member] = new PropertyMapping((FieldMappingOptions)memberMappingOptions));
            }
        }
 protected MemberMapping(MemberMappingOptions memberMappingOptions)
 {
     _memberMappingOptions = memberMappingOptions;
 }