protected override Expression VisitMember(MemberExpression node) { // Only process nodes that haven't been processed before, this could happen because our traversal // is depth-first and will "visit" the nodes in the subtree before this method (VisitMember) does if (!Visited.ContainsKey(node.GetHashCode())) { object value = GetMemberValue(node, Visited); if (value != null) { QueryParamBuilder.Append("\n\r"); QueryParamBuilder.Append(value.ToString()); } } return base.VisitMember(node); }