IObject copy = iQuery.get(iObject.getClass(), iObject.getId()); if (!aclVoter.allowChmod(copy)) throw new SecurityViolation("Cannot change permissions for:"+ iObject);  copy.getDetails().setPermissions(perms);
copy[0] = iQuery.get(iObject.getClass(), iObject.getId()); } });   if (!aclVoter.allowChmod(copy[0])) throw new SecurityViolation("Cannot change permissions for:"+ copy[0]);   getSecuritySystem().runAsAdmin(new AdminAction(){ public void runAsAdmin() { copy[0].getDetails().setPermissions(perms);
	public void changePermissions(final IObject iObject, final Permissions perms) {		final ACLVoter aclVoter = getSecuritySystem().getACLVoter(); // TODO inject		getSecuritySystem().runAsAdmin(new AdminAction(){			public void runAsAdmin() {				IObject copy = iQuery.get(iObject.getClass(), iObject.getId());				if (!aclVoter.allowChmod(copy))					throw new SecurityViolation("Cannot change permissions for:"+							iObject);									copy.getDetails().setPermissions(perms);				iUpdate.flush();			}		});	}