public XObject Serialize(TObject objectToSerialize, TContext context)
        {
            var subObject = _propertyMap.ResolveValue(objectToSerialize);

            if (subObject == null)
            {
                return(null);
            }

            var element = _serializer.Serialize(subObject, context);

            if (element == null)
            {
                return(null);
            }

            if (string.Equals(_serializer.ElementName, MappingName))
            {
                return(element);
            }

            element.Name = _serializerRepository.ElementNameFor(MappingName);
            return(element);
        }