public virtual bool VisitUsingDeclaration(UsingDeclaration usingDeclaration, object d) { if ((usingDeclaration == null)) { return SetFailure(); } if ((d == null)) { return SetFailure(); } if ((usingDeclaration.Usings == null)) { return SetFailure(); } if(usingDeclaration.GetType() != d.GetType()) {return SetFailure();} var data = (UsingDeclaration)d; if (!IsMatch(usingDeclaration, data)) { return SetFailure(); } if (usingDeclaration.Usings.Count == data.Usings.Count) { for (int i=0; i<usingDeclaration.Usings.Count;i++) { Using o = usingDeclaration.Usings[i]; if(o == null){return SetFailure();} if((bool)o.AcceptVisitor(this, data.Usings[i]) == false) return SetFailure(); } } else { return SetFailure(); } return true; }