private void addPermissions(IBaseDao<CnATreeElement, Serializable> containerDAO) { // By default, inherit permissions from parent element but ITVerbund // instances cannot do this, as its parents (BSIModel) is not visible // and has no permissions. Therefore we use the name of the currently // logged in user as a role which has read and write permissions for // the new ITVerbund. if (child instanceof ITVerbund || child instanceof Organization || (child instanceof Audit && !isInheritAuditPermissions())) { addPermissions(child); } else { RetrieveInfo ri = new RetrieveInfo(); ri.setPermissions(true); CnATreeElement elementPerm = containerDAO.retrieve(container.getDbId(), ri); child.setPermissions(Permission.clonePermissionSet(child, elementPerm.getPermissions())); } }