code: protected List<CmsUUID> changeAvailability() throws CmsException {
  
          Date released = m_releasedField.getDate();
          Date expired = m_expiredField.getDate();
          boolean resetReleased = m_resetReleased.getValue().booleanValue();
          boolean resetExpired = m_resetExpired.getValue().booleanValue();
          boolean modifySubresources = m_subresourceModificationField.getValue().booleanValue();
          List<CmsUUID> changedIds = new ArrayList<CmsUUID>();
          for (CmsResource resource : m_dialogContext.getResources()) {
              changeAvailability(resource, released, resetReleased, expired, resetExpired, modifySubresources);
              changedIds.add(resource.getStructureId());
          }
  
          String notificationInterval = m_notificationIntervalField.getValue().trim();
          int notificationIntervalInt = 0;
          try {
              notificationIntervalInt = Integer.parseInt(notificationInterval);
          } catch (NumberFormatException e) {
              LOG.warn(e.getLocalizedMessage(), e);
          }
          Boolean notificationEnabled = m_notificationEnabledField.getValue();
          boolean notificationSettingsUnchanged = notificationInterval.equals(m_initialNotificationInterval)
              && notificationEnabled.equals(m_initialNotificationEnabled);
  
          CmsObject cms = A_CmsUI.getCmsObject();
          if (!notificationSettingsUnchanged) {
              for (CmsResource resource : m_dialogContext.getResources()) {
                  performSingleResourceNotification(
                      A_CmsUI.getCmsObject(),
                      cms.getSitePath(resource),
                      notificationEnabled.booleanValue(),
                      notificationIntervalInt,
                      m_modifySiblingsField.getValue().booleanValue());
              }
  
          }
          return changedIds;
      }
docs: Actually performs the availability change.<p>
  
  @return the ids of the changed resources
  
  @throws CmsException if something goes wrong