System.out.println("IsSupervisor " + requiredacceptrecrules.toString()); System.out.println("IsSupervisor " + requiredacceptnonrecrules.toString());
	private boolean isSupervisor(Collection currentaccessrules){		boolean returnval = false;				if(currentaccessrules.size() >= 2){			HashSet requiredacceptrecrules = new HashSet();			requiredacceptrecrules.add(AvailableAccessRules.REGULAR_VIEWLOG);			HashSet requiredacceptnonrecrules = new HashSet();			requiredacceptnonrecrules.add(AvailableAccessRules.ROLE_ADMINISTRATOR);			requiredacceptnonrecrules.add(AvailableAccessRules.REGULAR_VIEWCERTIFICATE);						Iterator iter = currentaccessrules.iterator();			boolean illegal = false;			while(iter.hasNext()){				AccessRule ar = (AccessRule) iter.next();	     					if(!isAllowedSupervisorRule(ar))					if(ar.getRule() == AccessRule.RULE_ACCEPT && ar.isRecursive() && requiredacceptrecrules.contains(ar.getAccessRule()))						requiredacceptrecrules.remove(ar.getAccessRule());					else								if(ar.getRule() == AccessRule.RULE_ACCEPT && !ar.isRecursive() && requiredacceptnonrecrules.contains(ar.getAccessRule()))							requiredacceptnonrecrules.remove(ar.getAccessRule());						else{							illegal = true;							break;						}				}			if(!illegal && requiredacceptrecrules.size() ==0 && requiredacceptnonrecrules.size() == 0)				returnval = true;						System.out.println("IsSupervisor " + requiredacceptrecrules.toString());			System.out.println("IsSupervisor " + requiredacceptnonrecrules.toString());		}						return returnval;	}