@Override
 public void dispose() {
   // clear all properties
   value = new JRPropertiesMap();
   List<PropertyDTO> props = (List<PropertyDTO>) tableViewer.getInput();
   for (PropertyDTO p : props) {
     if (p.getProperty() != null && !p.getProperty().equals("")) // $NON-NLS-1$
     value.setProperty(p.getProperty(), p.getValue().toString());
   }
   super.dispose();
 }
 private String getDescription(TableItem item) {
   if (item != null && item.getData() != null) {
     String key = ((PropertyDTO) item.getData()).getProperty();
     List<PropertyDTO> dp = getDefaultProperties();
     for (PropertyDTO p : dp) {
       if (p.getProperty().equals(key)) return p.getDescription();
     }
   }
   return getDescription(); //$NON-NLS-1$
 }