code: void setPermissions() {
  
          IndexedContainer container = (IndexedContainer)m_permissions.getContainerDataSource();
          int allowed = 0;
          int denied = 0;
          for (Object itemId : container.getItemIds()) {
              Item item = container.getItem(itemId);
              Integer value = (Integer)item.getItemProperty(PROPERTY_VALUE).getValue();
              if (((Boolean)item.getItemProperty(PROPERTY_ALLOWED).getValue()).booleanValue()) {
                  allowed |= value.intValue();
              }
              if (((Boolean)item.getItemProperty(PROPERTY_DENIED).getValue()).booleanValue()) {
                  denied |= value.intValue();
              }
          }
          int flags = m_entry.getFlags();
  
          // modify the ace flags to determine inheritance of the current ace
          if (m_inheritCheckbox.getValue().booleanValue()) {
              flags |= CmsAccessControlEntry.ACCESS_FLAGS_INHERIT;
          } else {
              flags &= ~CmsAccessControlEntry.ACCESS_FLAGS_INHERIT;
          }
  
          // modify the ace flags to determine overwriting of inherited ace
          if (m_overwriteCheckbox.getValue().booleanValue()) {
              flags |= CmsAccessControlEntry.ACCESS_FLAGS_OVERWRITE;
          } else {
              flags &= ~CmsAccessControlEntry.ACCESS_FLAGS_OVERWRITE;
          }
  
          if (m_responsibleCheckbox.getValue().booleanValue()) {
              flags |= CmsAccessControlEntry.ACCESS_FLAGS_RESPONSIBLE;
          } else {
              flags &= ~CmsAccessControlEntry.ACCESS_FLAGS_RESPONSIBLE;
          }
  
          m_changeHandler.setPermissions(new CmsPermissionBean(m_principalType, m_principalName, allowed, denied, flags));
      }
docs: Sets the current permissions.<p>