public virtual bool VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression, object d) { if ((defaultValueExpression == null)) { return SetFailure(); } if ((d == null)) { return SetFailure(); } if ((defaultValueExpression.TypeReference == null)) { return SetFailure(); } if(defaultValueExpression.GetType() != d.GetType()) {return SetFailure();} var data = (DefaultValueExpression)d; if (!IsMatch(defaultValueExpression, data)) { return SetFailure(); } return defaultValueExpression.TypeReference.AcceptVisitor(this, data.TypeReference); }