private Composite createPermissionsGroup(Composite parent, IExtendedFileInfo fileInfo) {
    fPermissionsGroup = new PermissionsGroup(parent);
    fPermissionsGroup.setText(Messages.FileInfoPropertyPage_Permissions);
    fPermissionsGroup.setPermissions(fileInfo.getPermissions());

    return (Composite) fPermissionsGroup.getControl();
  }
  public boolean performOk() {
    if (fFileInfo != null && (fFileInfo instanceof IExtendedFileInfo)) {
      long permissions = fPermissionsGroup.getPermissions();
      IExtendedFileInfo extendedInfo = (IExtendedFileInfo) fFileInfo;
      if (permissions != extendedInfo.getPermissions()) {
        // the permissions have been modified
        extendedInfo.setPermissions(permissions);

        IFileStore fileStore = Utils.getFileStore(getElement());
        if (fileStore != null) {
          try {
            fileStore.putInfo(
                fFileInfo, IExtendedFileInfo.SET_PERMISSIONS, new NullProgressMonitor());
          } catch (CoreException e) {
            UIUtils.showErrorMessage(Messages.FileInfoPropertyPage_ErrorStoreInfo, e);
          }
        }
      }
    }

    return super.performOk();
  }