PropertyDescriptor pd = null;
for (int i = 0; i < count; i++) {
pd = cd.getProperty(i);
if (!pd.getPropertyName().equals("parent") && GEObject.class.isAssignableFrom(pd.getPropertyType())) {
GEObject value = null;
if (pd instanceof SimplePropertyDescriptor) {
value = (GEObject) ((SimplePropertyDescriptor)pd).getValue(root);
} else if (pd instanceof ListPropertyDescriptor) {
ListPropertyDescriptor lpd = (ListPropertyDescriptor) pd;
int valueCount = lpd.getCount(root);