System.out.println("IsCAAdmin " + requiredacceptrecrules.toString()); System.out.println("IsCAAdmin " + requiredacceptnonrecrules.toString());
	private boolean isCAAdministrator(Collection currentaccessrules){	   boolean returnval = false;	 	   	   	   	   if(currentaccessrules.size() >= 7){	     HashSet requiredacceptrecrules = new HashSet();	     requiredacceptrecrules.add(AvailableAccessRules.REGULAR_CAFUNCTIONALTY);	     requiredacceptrecrules.add(AvailableAccessRules.REGULAR_LOGFUNCTIONALITY);	     requiredacceptrecrules.add(AvailableAccessRules.REGULAR_RAFUNCTIONALITY);	     requiredacceptrecrules.add(AvailableAccessRules.REGULAR_SYSTEMFUNCTIONALITY);	     	     requiredacceptrecrules.add(AvailableAccessRules.ENDENTITYPROFILEBASE);	     HashSet requiredacceptnonrecrules = new HashSet();	     requiredacceptnonrecrules.add(AvailableAccessRules.ROLE_ADMINISTRATOR);	     requiredacceptnonrecrules.add(AvailableAccessRules.HARDTOKEN_EDITHARDTOKENISSUERS);	     requiredacceptnonrecrules.add(AvailableAccessRules.HARDTOKEN_EDITHARDTOKENPROFILES);	     	     Iterator iter = currentaccessrules.iterator();	     boolean illegal = false;	     while(iter.hasNext()){	     	AccessRule ar = (AccessRule) iter.next();	     	if(!isAllowedCAAdministratorRule(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("IsCAAdmin " + requiredacceptrecrules.toString());	     System.out.println("IsCAAdmin " + requiredacceptnonrecrules.toString());	   }	   	   	   return returnval;	}