// public methods
        /// <summary>
        /// Gets the serialization info for the given expression.
        /// </summary>
        /// <param name="node">The expression.</param>
        /// <returns>The serialization info.</returns>
        public BsonSerializationInfo GetSerializationInfo(Expression node)
        {
            var evaluatedNode = PartialEvaluator.Evaluate(node);

            return(BsonSerializationInfoFinder.GetSerializationInfo(evaluatedNode, _serializationInfoCache));
        }
 // public methods
 /// <summary>
 /// Gets the serialization info for the given expression.
 /// </summary>
 /// <param name="node">The expression.</param>
 /// <returns>The serialization info.</returns>
 public BsonSerializationInfo GetSerializationInfo(Expression node)
 {
     return(BsonSerializationInfoFinder.GetSerializationInfo(node, _serializationInfoCache));
 }