public void deletePrincipalRule(PrincipalRule rule) throws ProfilerException { getPersistenceBrokerTemplate().delete(rule); // reset persistent rules per principal rulesPerPrincipal.remove(rule.getPrincipalName()); String key = this.makePrincipalRuleKey(rule.getPrincipalName(), rule.getLocatorName()); // remove individual rule principalRules.remove(key); // track cached principal rules trackCachedPrincipalRulesRemoved(rule.getPrincipalName(), rule); }