public void removePrincipal(JetspeedPrincipal principal) throws SecurityException { validatePrincipal(principal); for (JetspeedPrincipalAssociationHandler jpah : assHandlers.values()) { if (jpah.getAssociationType().getFromPrincipalType().getName().equals(principalType.getName())) { jpah.beforeRemoveFrom(principal); } if (jpah.getAssociationType().getToPrincipalType().getName().equals(principalType.getName())) { jpah.beforeRemoveTo(principal); } } jpsm.removePrincipal(principal); notifyRemovedPrincipal(principal); }