public boolean addParameter(String label, String name, String xpath) {
   if (holder.addParameter(label, name, xpath, true)) {
     fireTableDataChanged();
     return true;
   } else {
     return false;
   }
 }
 @Override
 public void setValueAt(Object aValue, int row, int column) {
   if (holder.getParameterList().isEmpty()) {
     return;
   }
   SecurityCheckedParameterImpl param =
       (SecurityCheckedParameterImpl) holder.getParameterList().get(row);
   switch (column) {
     case 0:
       param.setLabel((String) aValue);
       break;
     case 1:
       param.setName((String) aValue);
       break;
     case 2:
       param.setXpath((String) aValue);
       break;
     case 3:
       param.setChecked((Boolean) aValue);
   }
 }
 @Override
 public Object getValueAt(int row, int column) {
   SecurityCheckedParameter param = holder.getParameterList().get(row);
   switch (column) {
     case 0:
       return param.getLabel();
     case 1:
       return param.getName();
     case 2:
       return param.getXpath();
     case 3:
       return param.isChecked();
   }
   return super.getValueAt(row, column);
 }
 public void removeRows(int[] selectedRows) {
   holder.removeParameters(selectedRows);
 }
 @Override
 public int getRowCount() {
   return holder == null ? 0 : holder.getParameterList().size();
 }