@Override
  public DataTable getDataTable(Object renderable, IOContainer ioContainer, boolean isRendering) {
    AttributeWeights weights = (AttributeWeights) renderable;

    if (!isRendering) {
      // use parameters only during rendering
      AttributeWeights clonedWeights = (AttributeWeights) weights.clone();
      try {
        Pattern pattern = Pattern.compile(getParameterAsString(PARAMETER_ATTRIBUTE_SELECTION));
        for (String attributeName : weights.getAttributeNames()) {
          if (!pattern.matcher(attributeName).matches()) {
            clonedWeights.removeAttributeWeight(attributeName);
          }
        }
      } catch (UndefinedParameterError e) {
      }

      return clonedWeights.createDataTable();
    } else return weights.createDataTable();
  }
 @Override
 public DataTable getDataTable(Object renderable, IOContainer ioContainer) {
   AttributeWeights weights = (AttributeWeights) renderable;
   return weights.createDataTable();
 }