public virtual bool Match(string name, TypedNodeList arguments, bool hasReturnValue) { if (Name.ToLower() != name.ToLower()) return false; if (!ReturnType.IsVoid != hasReturnValue) return false; return Match(arguments); }