code: public static Object getProperty(Object obj, String prop) throws PageException {
  	Object rtn = getField(obj, prop, NULL);// NULL is used because the field can contain null as well
  	if (rtn != NULL) return rtn;
  
  	char first = prop.charAt(0);
  	if (first >= '0' && first <= '9') throw new ApplicationException("there is no property with name [" + prop + "]  found in [" + Caster.toTypeName(obj) + "]");
  	return callGetter(obj, prop);
  
      }
docs: to get a visible Propety (Field or Getter) of a object
  
  @param obj Object to invoke
  @param prop property to call
  @return property value
  @throws PageException