code: public List<Property> getAllPropertiesOn( Object target )
          throws SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAccessException,
          InvocationTargetException {
          String[] propertyNames = findGetterPropertyNames();
          List<Property> results = new ArrayList<Property>(propertyNames.length);
          for (String propertyName : propertyNames) {
              if ("class".equals(propertyName)) continue;
              Property prop = getProperty(target, propertyName);
              results.add(prop);
          }
          Collections.sort(results);
          return results;
      }
docs: Get representations for all of the Java properties on the supplied object.
  
  @param target the target on which the setter is to be called; may not be null
  @return the list of all properties; never null
  @throws NoSuchMethodException if a matching method is not found.
  @throws SecurityException if access to the information is denied.
  @throws IllegalAccessException if the setter method could not be accessed
  @throws InvocationTargetException if there was an error invoking the setter method on the target
  @throws IllegalArgumentException if 'target' is null, or if 'propertyName' is null or empty