protected override Expression VisitParameter(ParameterExpression node) { InfoDictionary.Add(node, TypeMappings); var pair = InfoDictionary.SingleOrDefault(a => a.Key.Equals(node)); return(!pair.Equals(default(KeyValuePair <Type, MapperInfo>)) ? pair.Value.NewParameter : base.VisitParameter(node)); }