public void dispose() {
   if (pcl != null && support != null) {
     support.removePropertyChangeListener(pcl);
     pcl = null;
   }
   if (mpcl != null && fWizardModel != null) {
     fWizardModel.removePropertyChangeListener(mpcl);
     mpcl = null;
   }
   super.dispose();
 }
 public void validate() throws ValidationException {
   super.validate();
   String value = getValue();
   if (value != null) value = value.trim();
   if (value != null && value.length() > 0) {
     try {
       boolean b1 = value.matches("[#\\$]\\{[^#\\$\\}\\{]*\\}"); // $NON-NLS-1$
       if (!b1) {
         throw new ValidationException(JsfUIMessages.DataTableWizardPage_ValueMustBeSetWithEL);
       }
       boolean b2 =
           value.matches("[#\\$]\\{[^#\\$\\}\\{\\.]+(\\.[^#\\$\\}\\{\\.]+)*\\}"); // $NON-NLS-1$
       if (!b2) {
         throw new ValidationException(JsfUIMessages.DataTableWizardPage_ValueELNotCorrect);
       }
     } catch (PatternSyntaxException e) {
       JsfUiPlugin.getDefault().logError(e);
     }
   }
 }