System.out.println ("\tread method " + rm.getName () + " was null.");
System.out.println ("\tread method was null.");
  private List getPropertyNamesAndValues(PropertyDescriptor[] properties, 										 Object obj, Map listProps) {    List pv = new ArrayList();    // IGNORE JAVA.SQL.DATE CLASS    if (Date.class.isInstance  (obj) ||		String.class.isInstance(obj)) {      return pv;    }    if (abstractMeasureClass.isInstance(obj)) {	  properties = 	    prunePropertiesFromMeasure ((AbstractMeasure)obj, properties);    }    for (int i = 0; i < properties.length; i++) {      PropertyDescriptor pd = properties[i];	  if (debug)		System.out.println ("getPropertyNamesAndValues - " + pd.getPropertyType () +  							" : " + pd.getName ());      Method rm = pd.getReadMethod();      if (rm == null) {		if (debug)		  System.out.println ("\tread method " + rm.getName () + " was null.");        continue;      }      // invoke the read method for each property      Object childObject = getReadResult (obj, rm);      if (childObject == null) {		if (debug)		  System.out.println ("\tread result of " + rm.getName () + " was null.");        continue;      }            // add property name and value to vectorarray      String name = pd.getName();      if (pd.getPropertyType().isArray()) {        int length = Array.getLength(childObject);		listProps.put (name, new Integer(length));		if (debug)		  System.out.println ("getProp - " + pd.getPropertyType () + 							  " : " + name + " - " + length + " now " + listProps.size() + " props");		        for (int j = 0; j < length; j++) {          Object value = Array.get(childObject, j);          if (value.getClass().isPrimitive()) {			if (isPrimitiveFloat (value.getClass ()))			  value = getValueOfPrimitiveFloat (value);			else			  value = String.valueOf(value);          }          pv.add(new PropertyNameValue(name, value));        }      } else {		// need first class object, can't have a reference to a primitive		if (isPrimitive(childObject.getClass())) {	      childObject = String.valueOf(childObject);		  if (debug)			System.out.println ("getProp - " + pd.getName () + 								" - childObject " + childObject + " is a primitive.");		}		if (!ignoreClass (childObject.getClass()))		  pv.add(new PropertyNameValue(name, childObject));      }    }	if (Asset.class.isInstance (obj))	  pv.addAll (getDynamicAssetProperties ((Asset) obj));    Collections.sort(pv, lessStringIgnoreCase);    return pv;  }