/** * Two rules have the same signature if they have: same name same return value same args I do a * simple string compare now, but later the type could be pulled out so it is insensitive to names * of args etc... */ public boolean sameSignature(Rule rule) { boolean nSame = true; boolean aSame = true; boolean rSame = true; nSame = name.equals(rule.getName()); if (args != null) { aSame = args.equals(rule.getArgs()); } if (returnValue != null) { rSame = returnValue.equals(rule.getReturnValue()); } return nSame && aSame && rSame; }