return m.values();
switch (beantype) { case BEANTYPE_STANDARD:   List allStandardAces = IWSlideConstants.ALL_STANDARD_SUBJECT_URIS; for (Iterator iter = allStandardAces.iterator(); iter.hasNext();) { String principal = (String)iter.next(); if(!m.containsKey(principal) && !principal.equals(IWSlideConstants.SUBJECT_URI_OWNER) && !principal.equals(IWSlideConstants.SUBJECT_URI_SELF)){ addACEBeanSkippingPathCheck(principal,AccessControlEntry.PRINCIPAL_TYPE_STANDARD,beanCollection); } }        break; case BEANTYPE_ROLES: try { AuthenticationBusiness authBean = (AuthenticationBusiness)getServiceInstance(AuthenticationBusiness.class); String rootRoleURI = authBean.getRoleURI(IWSlideConstants.ROLENAME_ROOT);  if(m.containsKey(rootRoleURI)){ for (Iterator iter = beanCollection.iterator(); iter.hasNext();) { ACEBean aceBean = (ACEBean) iter.next(); if(rootRoleURI.equals(aceBean.getPrincipalName())){ iter.remove(); } } }   Collection roles = getUserContext().getAccessController().getAllRoles(); for (Iterator iter = roles.iterator(); iter.hasNext();) { ICRole role = (ICRole) iter.next(); String roleURI = authBean.getRoleURI(role.getRoleKey()); if(!m.containsKey(roleURI)){ ACEBean aceBean = addACEBeanSkippingPathCheck(roleURI,AccessControlEntry.PRINCIPAL_TYPE_ROLE,beanCollection); } }  } catch (IBOLookupException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } break; default: break; }  return beanCollection;
	protected Collection getACEBeans(List l,String path) {		Map m = new TreeMap();		if(l!=null){			for (Iterator iter = l.iterator(); iter.hasNext();) {				AccessControlEntry ace = (AccessControlEntry) iter.next();				ACEBean bean = (ACEBean) m.get(ace.getPrincipal());				if(bean == null){					bean = new ACEBean(ace);					m.put(ace.getPrincipal(),bean);				} else {					if(ace.isNegative()){						bean.setNegativeAccessControlEntry(ace);					} else {						bean.setPositiveAccessControlEntry(ace);					}				}			}		}				Collection c = m.values();		for (Iterator iter = c.iterator(); iter.hasNext();) {			ACEBean aBean = (ACEBean) iter.next();			if(!aBean.hasNegativeAccessControlEntry()){				AccessControlEntry theOtherAce = aBean.getPositiveAccessControlEntry();				AccessControlEntry thisAce = new AccessControlEntry(theOtherAce.getPrincipal(),true,false,false,null,theOtherAce.getPrincipalType());				currentList.add(thisAce);				aBean.setNegativeAccessControlEntry(thisAce);			} else if(!aBean.hasPositiveAccessControlEntry()){				AccessControlEntry theOtherAce = aBean.getNegativeAccessControlEntry();				AccessControlEntry thisAce = new AccessControlEntry(theOtherAce.getPrincipal(),false,false,false,null,theOtherAce.getPrincipalType());				currentList.add(thisAce);				aBean.setPositiveAccessControlEntry(thisAce);			}		}				return m.values();	}