code: @Override
  	public synchronized boolean addEntry(Principal caller, AccessControl aclEntry)
  	{
  		if (aclEntry == null)
  			return false;
  
  		Principal principal = aclEntry.getPrincipal();
  
  		Set<AccessControl> currentAcl = this.entries.get(principal);
  
  		// find older aclEntry
  
  		if (currentAcl != null)
  		{
  			for (AccessControl currentEntry : currentAcl)
  			{
  				if (principal.equals(currentEntry.getPrincipal()))
  				{
  					// updated old
  					mergePermissions(aclEntry, currentEntry);
  				}
  
  			}
  		}
  		else
  		{
  			Set<AccessControl> set = new HashSet<AccessControl>();
  			set.add(aclEntry);
  			this.entries.put(principal, set);
  
  		}
  
  		return true;
  
  	}
docs: /*
  (non-Javadoc)
  
  @see
  nyla.solutions.core.security.data.Acl#addEntry(java.security.Principal,
  nyla.solutions.core.security.data.AccessControl)