public Object getValue() throws IllegalAccessException, InvocationTargetException {

    JRPropertiesMap map = element.getPropertiesMap();
    List properties = new ArrayList();
    String[] names = map.getPropertyNames();

    for (int i = 0; i < names.length; ++i) {
      properties.add(new GenericProperty(names[i], map.getProperty(names[i])));
    }

    // add to the list the expression properties...
    JRPropertyExpression[] expProperties = element.getPropertyExpressions();
    for (int i = 0; expProperties != null && i < expProperties.length; ++i) {
      properties.add(
          new GenericProperty(
              expProperties[i].getName(),
              (JRDesignExpression) expProperties[i].getValueExpression()));
    }

    return properties;
  }