code: public List /*<Property>*/ getPropertyList()
      {
          Field [] fields = getClass().getFields();
          List /*<Property>*/ list = new ArrayList /*<Property>*/();
          for (int i = 0; i < fields.length; i++) {
              Field field = fields[i];
              if (!Modifier.isStatic(field.getModifiers())
                  && Property.class.isAssignableFrom(
                      field.getType()))
              {
                  try {
                      list.add((Property) field.get(this));
                  } catch (IllegalAccessException e) {
                      throw new RuntimeException(
                          "Error while accessing property '" + field.getName()
                          + "'",
                          e);
                  }
              }
          }
          return list;
      }
docs: Returns a list of every {@link org.eigenbase.util.property.Property}.
  
  @return List of properties